编辑:此问题尚未在其他建议的SO问题中得到解决
我在市场上有一个完整的应用程序超过一年,很少有崩溃报告.最近我将我的应用程序更改为一个库,以便它可以包含在多个不同的"包装器"项目中.这样我就可以轻松制作不同版本 - 免费,付费,非谷歌市场,有/无应用内购买等.
新的"库+包装"应用似乎工作正常.我可以多次运行它,没有错误.但是后来一天之后(大概是操作系统关闭了部分或全部应用程序的活动)我尝试运行它并报告
Unable to instantiate application com.mycompany.mygamelibrary.MyGameApplicationClass: java.lang.ClassNotFoundException: com.mycompany.mygamelibrary.MyGameApplicationClass
Run Code Online (Sandbox Code Playgroud)
它找不到的类是程序启动时运行的第一个类,MyGameApplicationClass - 扩展Application.该类是库的一部分.
我怀疑两个清单文件中有一个是傻瓜.
包装器项目的清单包含行...
<application android:icon="@drawable/mygame_icon"
android:screenOrientation="portrait" android:label="My Game Name"
android:name="com.mycompany.mygamelibrary.MyGameApplicationClass">
Run Code Online (Sandbox Code Playgroud)
什么想法可能会出错?
编辑:该库被引用为"正确的方式",由yorkw 对此SO问题的答案所定义.
编辑:我现在无法重复崩溃:-(我不知道当应用程序一两天不使用时操作系统会做什么.
Eri*_*ric 17
有两种可能性.你和我一样,你的清单文件中有拼写错误.让同事或朋友阅读它以确保名称正确.或者您没有正确引用项目.
官方文档描述了如何在其文档中正确链接项目.
为什么它首先似乎工作,后来停止工作有点神秘.但是,我猜VM可能仍然已经准备好了必要的引用来解析库中的类.重新启动VM删除了所有这些引用并尝试解决它们是不成功的.
更新:关于OP中的编辑:当您确认已正确引用其他项目时,您可以检查项目是否包含在APK中,只是为了确定.您可以像任何其他存档一样重命名和打开APK(.rar适用于我).有时,它发生在我身上,项目未正确包含在APK中.清理工作区通常可以解决问题,因此可以根据您使用的内容重新启动IDE.例如,要在Eclipse中手动执行清理,请使用Project->Clean...或尝试Android Tools->Fix Project Properties右键单击项目.
由于您似乎也通过重新启动设备来解决问题,因此可能是库未正确链接.一个我从未见过的问题,但作为一个非常常见的引用说:"你试过把它关掉再打开吗?"
| 归档时间: |
|
| 查看次数: |
22202 次 |
| 最近记录: |