在android4.0源碼裡面編譯出來apk後,用adb install (或adb install -r 重裝)安裝時,報錯[INSTALL_FAILED_DEXOPT]。
2820 KB/s (225970 bytes in 0.078s)
pkg: /data/local/tmp/xxx.apk
Failure [INSTALL_FAILED_DEXOPT]
或者
2768 KB/s (225970 bytes in 0.079s)
這是因為在system\app下面的apk是經過優化的,而dex檔案不會打包到apk中,dex檔案會被優化後,生成odex檔案。
下面就是程式經編譯之後,在workspace/out/target/product/generic/system/app/下生成的.odex和.apk兩個檔案
Install: out/target/product/generic/system/app/xxx.odex
Install: out/target/product/generic/system/app/xxx.apk
這樣安裝apk時,就會缺少dex檔案,導緻報錯[INSTALL_FAILED_DEXOPT]。
-->解決辦法:
找到未優化過的apk,即在out/target/product/generic/obj/APPS/下找到對應的工程:
2400 KB/s (331697 bytes in 0.134s)
pkg: /data/local/tmp/package.apk.unaligned
Success
<a target="_blank" href="mailto:xu@xu-PC:~%24">xu@xu-PC:~$</a>
如果已經安裝了該程式,可以重裝一下:
2873 KB/s (331689 bytes in 0.112s)
pkg: /data/local/tmp/package.apk.unaligned
這樣就安裝ok了!
(本文轉載于:http://blog.csdn.net/xiaoyaovsxin/article/details/8216452)