将预构建的apk添加到android中的system.img时ClassNotFoundException

时间:2013-08-07 10:13:31

标签: android image apk rom

我现在遇到麻烦,在基于台湾mtk android手机平台的system.img中添加一个预建的apk,当我将这个apk推到设备上,重新启动手机后,apk可以成功安装,但如果我添加这个apk进入alps/out/target/product/$prj/system/appvendor/mediatek/$prj/artifacts/out/target/product/$prj/system/app,并生成一个system.img,apk无法正常安装,logcat说:

a.lang.RuntimeException: Unable to instantiate activity
ComponentInfo{com.sec.android.widgetapp.ap.hero.accuweather.widget/com.sec.android.widgetapp.ap.hero.accuweather.widget.WeatherClock}: 
java.lang.ClassNotFoundException: com.sec.android.widgetapp.ap.hero.accuweather.widget.WeatherClock.

任何人都可以告诉我这是什么问题吗?

1 个答案:

答案 0 :(得分:1)

当软件包管理器安装属于系统分区的应用程序时,与在数据分区上安装应用程序不同。看起来你的应用程序正在使用其他地方的库。通常,当您在数据上安装时,会在apps数据目录中创建一个lib目录,并将其符号链接到/ data / app-lib /。当应用程序安装在系统上时,它们所依赖的任何库都应该是system / lib或vendor / lib中system.img的一部分。不会复制这些库,以便创建已包含在设备上共享位置的库的多个副本。您可能想要复制apk并解压缩它并查找它包含的任何库,并确保将它们放在system / lib或system / framework中。您还可以找到库并在您闪存的设备上创建自己的符号链接,以查看是否可以解决您的问题。

希望有所帮助。