0

在未能将 Android 项目用作库后(如果需要详细信息,请参阅此内容)我导出了项目的 JAR 文件并(创建并)添加到“libs”文件夹中。我还将 JAR 文件添加到项目的构建路径中。

但我得到了这个运行时错误:

04-09 00:40:40.209: E/AndroidRuntime(20499): FATAL EXCEPTION: main
04-09 00:40:40.209: E/AndroidRuntime(20499): java.lang.RuntimeException: Unable to
start activity ComponentInfo{com.example.android.tictactoe/com.example.android.tictactoe.library.GameActivity}:
java.lang.ClassCastException: android.widget.Button cannot be cast
to com.example.android.tictactoe.library.GameView

快速检查后发现,我带到 libs 的 JAR 库已经定义了与主项目中的资源 ID 相同的资源 ID。因此,Button(在 TicTacToeMain 中)和 GameView(在 TicTactToeLib 中)获得了相同的 ID 号。

解决方案,有人吗?

4

1 回答 1

0

我找到的唯一解决方案是让该库作为 Android 项目库工作(is library在项目的属性中标记)

一旦将库项目添加到目标项目(再次通过项目的属性)并应用它,库的 R 类就会重新编号并添加到目标项目中。

话虽如此,在使用 Eclipse 时,我花了一些时间让 Referenced Library 项目被接受。经过几次(多次)尝试以及完全删除和重新创建库项目后,当我按下应用时,库引用被“接受”并且一切正常。
如果你想阅读更多关于我让图书馆被“接受”的考验的详细信息,请在这篇文章中阅读全部内容。

于 2013-04-26T15:06:30.313 回答