未能将Android项目用作库(see this if you want details)后,我导出了项目的JAR文件,并(已创建并添加)到'libs'文件夹中。我还将JAR文件添加到Project的构建路径中。
但是我收到了这个运行时错误:
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号。
解决方案,任何人?
答案 0 :(得分:0)
我找到的唯一解决方案是让图书馆作为Android项目库工作(在项目属性中标记为is library
)
将库项目添加到目标项目(再次通过项目的属性)并应用它后,库的R类将重新编号并添加到目标项目中。
这就是说,使用Eclipse时,我花了一些时间来使Referenced Library项目被接受。经过几次(很多次)尝试以及完全删除和重新创建库项目后,当我按下Apply时,库引用被“接受”,并且它完全正常工作。
如果您想要阅读有关我的考验的更多详细信息,请将该库“接受”,请全部阅读in this post。