dalvikvm: odex source not available -- failing

讨论了在精简ROM过程中遇到的系统框架依赖odex文件的问题,并提供了相关解决方案,包括分析logcat日志、理解odex依赖关系以及在进行精简时保持框架的odex化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用言文605比较满意,但精简了不少系统的东西,现在想加回去,碰到带有odex的原版程序跑不起来的问题,经过抓取logcat,查看android源代码, 相应的odex分析,找到原因是此rom的/system/framework下的文件都是重新deodex成一个apk的,而原系统中framework下都是有odex,而且system/app目录下的odex文件都是依赖/system/framework目录下的odex文件,如果找不到就不能加载 ,log 如下
DexOpt: mismatch dep name: '/data/dalvik-cache/system@framework@core.jar@classes.dex' vs. '/system/framework/core.odex'

04-11 10:01:03.616  1320  1331 E dalvikvm: /system/app/ZoomService.apk odex has stale dependencies

04-11 10:01:03.616  1320  1331 E dalvikvm: odex source not available -- failing

04-11 10:01:03.647  1320  1331 I PackageManager: /system/app/WorkContacts.apk changed; collecting certs

04-11 10:01:03.694  1320  1331 I dalvikvm: DexOpt: mismatch dep name: '/data/dalvik-cache/system@framework@core.jar@classes.dex' vs. '/system/framework/core.odex'

04-11 10:01:03.694  1320  1331 E dalvikvm: /system/app/WorkContacts.apk odex has stale dependencies

04-11 10:01:03.694  1320  1331 E dalvikvm: odex source not available -- failing

04-11 10:01:03.796  1320  1322 D dalvikvm: GC_CONCURRENT freed 535K, 45% free 3846K/6983K, external 2357K/2773K, paused 2ms+6ms

04-11 10:01:03.811  1320  1331 I PackageManager: /system/app/WeatherWidget.apk changed; collecting certs

04-11 10:01:03.999  1320  1331 I dalvikvm: DexOpt: mismatch dep name: '/data/dalvik-cache/system@framework@core.jar@classes.dex' vs. '/system/framework/core.odex'

04-11 10:01:03.999  1320  1331 E dalvikvm: /system/app/WeatherWidget.apk odex has stale dependencies

04-11 10:01:03.999  1320  1331 E dalvikvm: odex source not available -- failing

04-11 10:01:04.014  1320  1331 I PackageManager: /system/app/Vvm.apk changed; collecting certs

04-11 10:01:04.233  1320  1322 D dalvikvm: GC_CONCURRENT freed 745K, 46% free 4022K/7367K, external 2357K/2773K, paused 2ms+19ms

04-11 10:01:04.272  1320  1331 I dalvikvm: DexOpt: mismatch dep name: '/data/dalvik-cache/system@framework@core.jar@classes.dex' vs. '/system/framework/core.odex'

04-11 10:01:04.272  1320  1331 E dalvikvm: /system/app/Vvm.apk odex has stale dependencies

04-11 10:01:04.272  1320  1331 E dalvikvm: odex source not available -- failing

源代码地址
androidxref_com/source/xref/dalvik/vm/JarFile.cpp
androidxref_com/source/xref/dalvik/vm/analysis/DexPrepare.cpp#dvmCheckOptHeaderAndDependencies

odex里依赖的framework文件列表
/system/framework/core.odex
/system/framework/bouncycastle.odex
/system/framework/ext.odex
/system/framework/framework.odex
/system/framework/android.policy.odex
/system/framework/services.odex
/system/framework/core-junit.odex
/system/framework/com.motorola.android.frameworks.odex
/system/framework/com.motorola.android.widget.odex

所以建议各位大大做精简rom时, framework目录下的东东最好odex化,即使deodex过后,也要再odex
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值