现在的位置: 首页 > 综合 > 正文

dalvikvm: odex source not available — failing

2018年04月17日 ⁄ 综合 ⁄ 共 2492字 ⁄ 字号 评论关闭

使用言文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

抱歉!评论已关闭.