现在我想知道是否有人能够完成恢复以前的ADT插件。
原因是因为我使用的是开源jar,我在LogCat上遇到以下错误:
这会导致在调试器上运行我的Android应用程序时出错。
我之前使用的是Android ADT 15,现在我已更新为17。
请帮助找到解决问题的解决方案。
编辑*忘记添加错误“java.lang.NoClassDefFoundError”。简单来说,即使它允许,也无法找到附加jar的类或方法。
编辑*添加了Logcat
04-09 17:22:56.488: E/AndroidRuntime(4057): FATAL EXCEPTION: main
04-09 17:22:56.488: E/AndroidRuntime(4057): java.lang.NoClassDefFoundError: nl.siegmann.epublib.epub.EpubReader
04-09 17:22:56.488: E/AndroidRuntime(4057): at ebook.holder.ReadWholeBook.amBook(ReadWholeBook.java:796)
04-09 17:22:56.488: E/AndroidRuntime(4057): at ebook.holder.ReadWholeBook.firstPartBook(ReadWholeBook.java:720)
04-09 17:22:56.488: E/AndroidRuntime(4057): at ebook.holder.ReadWholeBook.initializeLoading(ReadWholeBook.java:159)
04-09 17:22:56.488: E/AndroidRuntime(4057): at ebook.holder.ReadWholeBook.onCreate(ReadWholeBook.java:109)
04-09 17:22:56.488: E/AndroidRuntime(4057): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-09 17:22:56.488: E/AndroidRuntime(4057): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
04-09 17:22:56.488: E/AndroidRuntime(4057): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
04-09 17:22:56.488: E/AndroidRuntime(4057): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-09 17:22:56.488: E/AndroidRuntime(4057): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
04-09 17:22:56.488: E/AndroidRuntime(4057): at android.os.Handler.dispatchMessage(Handler.java:99)
04-09 17:22:56.488: E/AndroidRuntime(4057): at android.os.Looper.loop(Looper.java:123)
04-09 17:22:56.488: E/AndroidRuntime(4057): at android.app.ActivityThread.main(ActivityThread.java:3683)
04-09 17:22:56.488: E/AndroidRuntime(4057): at java.lang.reflect.Method.invokeNative(Native Method)
04-09 17:22:56.488: E/AndroidRuntime(4057): at java.lang.reflect.Method.invoke(Method.java:507)
04-09 17:22:56.488: E/AndroidRuntime(4057): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-09 17:22:56.488: E/AndroidRuntime(4057): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-09 17:22:56.488: E/AndroidRuntime(4057): at dalvik.system.NativeStart.main(Native Method)
这些是警告:
04-09 17:22:56.158: W/dalvikvm(4057): VFY: unable to resolve new-instance 144 (Lnl/siegmann/epublib/epub/EpubReader;) in Lebook/holder/ReadWholeBook;
04-09 17:22:56.177: W/dalvikvm(4057): VFY: unable to find class referenced in signature (Lnl/siegmann/epublib/domain/Book;)
04-09 17:22:56.217: W/dalvikvm(4057): VFY: unable to find class referenced in signature (Lnl/siegmann/epublib/domain/Book;)
04-09 17:22:56.233: W/dalvikvm(4057): VFY: unable to resolve virtual method 433: Lnl/siegmann/epublib/domain/Book;.getSpine ()Lnl/siegmann/epublib/domain/Spine;
04-09 17:22:56.277: W/dalvikvm(4057): VFY: unable to find class referenced in signature (Lnl/siegmann/epublib/domain/Book;)
04-09 17:22:56.277: W/dalvikvm(4057): VFY: unable to resolve virtual method 433: Lnl/siegmann/epublib/domain/Book;.getSpine ()Lnl/siegmann/epublib/domain/Spine;
答案 0 :(得分:6)
您可以通过以下步骤恢复到以前版本的ADT插件:
下载以前版本的ADT(zip存档)。官方更改日志,其中包含来自Google的历史ADT版本号列表:http://developer.android.com/tools/sdk/eclipse-adt.html。下载旧版本时使用的确切文件名和格式: (http://dl.google.com/android/ADT-16.0.1.zip,http://dl.google.com/android/ADT-21.0.0.zip等),有关此流程的详细信息,请参阅How install old ADT13 in Eclipse。选择要恢复的版本。
在Eclipse菜单中,转到Window - >偏好 - >安装/更新 - >可用的软件站点,并通过单击“存档”按钮将最近下载的存档添加到列表中。
在Eclipse菜单中,转到帮助 - >关于Eclipse - >安装细节 - >安装历史记录并在列表中选择适当的项然后单击“恢复”按钮。
成功恢复并重新启动Eclipse后,您将获得以前版本的ADT,但此旧版本的ADT可能与您计算机上安装的Android SDK不兼容。您可以使用"This verison of ADT requires Android SDK Tools in revision 17 or above." I can't get this error to go away.
完成上述所有步骤后,您可以使用ADT的还原版本,但如果项目的某些部分始终依赖于较新版本的ADT或SDK,则必须手动解决此问题。
答案 1 :(得分:0)
我要做的第一件事就是删除所有输出(gen,target,out)并完全重建项目。
答案 2 :(得分:0)
回答你的问题:不,不可能恢复到之前版本的ADT插件。即使认为Eclipse可以恢复配置,插件所需的旧版本也无法在Google Repos上使用。
很遗憾没有关于你的问题的提示。
答案 3 :(得分:0)
没有选择没有办法让一切恢复原状。唯一的解决方案是系统还原。
答案 4 :(得分:0)
我遇到了问题并在一周前解决了。
你必须使用adt22,对吧?
当您使用adt22时,如果您有一个名为libs的文件夹(其中包含一些第三方jar),则会显示名为Android Private Libraries的库。不幸的是,在编译项目时,带有jar的lib是没有导出到apk,早期的插件可以做得很好。
所以你需要手动导出罐子。
项目 - >构建路径 - >找到订单和导出选项卡,选择Android私有库。然后删除bin文件夹(使项目干净地编译),你会得到一个更大的apk 其中的罐子。