合并odex和少dex的apk为完整的apk文件
很多安卓rom里系統自帶的apk內部都是缺少classes.dex文件而在同文件夾下多了同名的odex文件,這個文件dex是apk的主要運行文件,少了它apk文件不能安裝在其他設備上,而odex則是把dex提取出來再作以優化,這樣做可以加快軟件的啟動速度,預先提取,減少對RAM的占用,因為沒有odex的話,系統要從apk包中提取dex再運行。為了能把把軟件安裝在其他設備,必須把odex與apk合并成完整的apk文件!合成步驟如下:
1. 需要odex所在rom中的一些引用類,一般在 /system/framework 目錄中
2.通過odex生成class文件
把odex所在的rom中的framework文件夾提取出來,在cmd下cd到當期目錄下,把要合并的odex及不完整的apk都放到此目錄下,假設名字是android123.odex,然后再cmd下輸入以下命令:
java -jar baksmali-1.2.6.jar -x android123.odex
執行完上面這行命令后,會生成一個out 文件夾里面是android123.odex的class文件。
3. 通過class生成classes.dex 文件。
java -Xmx512M -jar smali-1.2.6.jar out -o classes.dex
4. 將classes.dex放到apk文件
因為apk是zip的mime編碼類型,使用winzip或winrar直接拖入到apk改名為zip的壓縮包中即可。
5. 不要忘記了簽名,使用jdk中的arsigner和keytool打包重新簽名即可。總結
以上是生活随笔為你收集整理的合并odex和少dex的apk为完整的apk文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c# SortedList的妙用 (Gr
- 下一篇: Android的AlertDialog详