前言:有時候看到別人手機有那個app很好用,叫他分享過來安裝卻不能用
這是因為apk裡面缺少classes.dex,而classes.dex通常都跟apk一樣名稱放在同目錄
只能把殘缺的apk+完整的odex=完整apk

工具下載:
JDK6u39:  (JDK7或是JDK6版本過高都無法使用)
https://mega.co.nz/#!fUMywaIT!Lc ... dXcRT1DwiLpj99r-UwI

smali+baksmali_1.4.2
smali baksmali_1.4.2.zip (1.07 MB, 下載次數: 1073)

AndroidResEdit1.5 :給APK簽名的軟體
AndroidResEdit 台灣繁體v1.5.zip (591.67 KB, 下載次數: 689)
================================================
首先安裝好JDK,並且到電腦>右鍵>內容>進階系統設定>進階>環境變數>系統變數>
Path>在原本的內容最後面加上;C:\Program Files\Java\jdk1.6.0_39\bin

注意!!你要確定JDK是安裝到C:\Program Files還是C:\Program Files (x86)

之後要確認沒有配置成功打開cmd輸入java或是javac如果有看到一堆東西跑出來就是成功


接著到手機裡面RE管理器進入/system/framework
整個複製下來,並傳到電腦上

接著把你要合併的apk跟odex也複製到電腦上

在C槽下面建立一個新資料夾(名稱隨便取.最好純英文就好)
並把你要合併的檔案+framework下的檔案+smali+baksmali_1.4.2(解壓縮後) 通通丟進去

打開cmd並定位到你的資料夾位置 (我是放在C下並用app名稱的資料夾)


分解odex文件為class文件
cmd下輸入   java -jar baksmali-1.4.2.jar -x a.odex
a.odex為你的要處理的odex名稱

成功的話會發現出了一個out文件夾
注意!! 因為我們把framework的東西都複製近來所以錯誤的情況應該是遇不到..........

將class生成為classes.dex文件
繼續在cmd下輸入   java -Xmx512M -jar smali-1.4.2.jar out -o classes.dex


成功的話會發現資料夾下多了一個classes.dex

把classes.dex放入apk裡面
用解壓縮軟體(WinRAR或是7-ZIP都可以),打開apk並且把classes.dex放進去


給APK新的簽名
把AndroidResEdit 解壓縮並執行,接下來看圖操作



到此就全部完成可以丟到手機安裝測試了~~undefined

感謝    道奇兔  分享