0

现在我想知道是否有人能够完成恢复到以前的 ADT 插件。

这样做的原因是因为我使用的是开源 jar,并且在我的 LogCat 上出现以下错误,例如:

  1. 无法解析虚方法
  2. 找不到签名中引用的类
  3. 无法解决新实例

这会导致在调试器上运行我的 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;
4

5 回答 5

6

您可以通过以下步骤恢复到以前版本的 ADT 插件:

  1. 下载以前版本的 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等),请参阅如何在 Eclipse中安装旧的 ADT13有关该过程的更多详细信息。选择要还原到的版本。

  2. 在 Eclipse 菜单中,转到 Window -> Preferences -> Install/Update -> Available Software Sites 并通过单击“Archive”按钮将最近下载的存档添加到列表中。

  3. 在 Eclipse 菜单中,转到帮助 -> 关于 Eclipse -> 安装详细信息 -> 安装历史并在列表中选择适当的项目。然后单击“还原”按钮。

  4. 成功还原并重新启动 Eclipse 后,您将获得以前版本的 ADT,但此旧版本的 ADT 可能与您计算机上安装的 Android SDK 不兼容。您可以使用“此版本的 ADT 需要版本 17 或更高版本的 Android SDK 工具”来“破解”Android SDK 中的 ADT 版本检查。我不能让这个错误消失。

  5. 完成上述所有步骤后,您可以使用 ADT 的还原版本,但如果您的项目的某些部分始终依赖于较新版本的 ADT 或 SDK,您必须手动解决此问题。

于 2012-06-28T07:33:06.333 回答
0

回答您的问题:不,不可能恢复到以前版本的 ADT 插件。即使 Eclipse 可以恢复配置,所需的旧版本插件在 Google 存储库中根本不可用。

不幸的是,没有关于您的问题的提示。

于 2012-04-10T09:50:13.467 回答
0

我要做的第一件事是删除所有输出(gen、target、out)并完全重建项目。

于 2012-04-09T17:18:04.703 回答
0

我遇到了问题并在一周前解决了它。

你一定在用adt22,对吧?

当您使用adt22时,如果您有一个名为libs的文件夹(其中包含一些第三方jar),则会显示一个名为Android Private Libraries的库。不幸的是,在编译项目时,这个带有jar的lib没有导出到apk,早期的插件可以做的很好。

所以你需要手动导出罐子。

Project->Build path->找到Order and Export选项卡,选择Android Private Libraries。然后删除bin文件夹(使项目编译干净),你会得到一个更大的apk,里面有
jar。

于 2013-06-17T03:12:54.860 回答
0

没有选择没有可能的方式让一切恢复原状。唯一的解决方案是系统还原。

于 2012-04-10T13:46:22.233 回答