利用jdk打包,可以替換資源文件
首先打包生成apk文件和簽名文件test.keystore文件
打包步驟
1.解壓apk文件窃肠,將后綴改成zip解壓,得到資源包磁椒,這里用mac的注意一下媳板,mac直接解壓會出現(xiàn)cpgz文件浩淘,解壓cpgz的話會無限循環(huán),最好用第三方工具洽损,或者終端jar -xvf xxxx.apk ?進(jìn)行解壓縮
2.刪除得到的資源包下面的MATE-INF文件夾庞溜,刪除舊的apk文件
3.根據(jù)需求替換資源文件,我只需要換圖標(biāo)
4.對替換好的資源文件包大包 jar -cvf ../xxxx.apk ./ 打包后的apk在上層目錄
5.對重新打包的apk進(jìn)行簽名
jarsigner -verbose -keystore 簽名文件(注意路徑) -storepass 你的密碼 -keypass 密碼 -signedjar 簽名后的apk文件 -digestalg SHA1 -sigalg MD5withRSA ?用來簽名apk文件 ?簽名文件別名
例如:
jarsigner -verbose -keystore ../test.keystore -storepass 123456 -keypass 123456 -signedjar ../Test_signed.apk -digestalg SHA1 -sigalg MD5withRSA? ../appTest.apk test
說明一下jdk1.7一下版本不加-digestalg SHA1 -sigalg MD5withRSA也是可以的碑定,以上的必須添加流码,不然的話打包簽名出來是不能安裝的
shell 腳本
jar -xvf xxxx.apk
rm -rf MATE-INF
rm -rf xxxx.apk
#替換資源文件
cp -rf zhiyuan/* test/res/?
# 打包apk文件
cd test
jar -cvf ../linshi/xxxxx.apk ./
cd ../
#簽名apk文件
jarsigner -verbose -keystore test.keystore -storepass 123 -keypass 123 -signedjar download_apk/xxxxx_sign.apk -digestalg SHA1 -sigalg MD5withRSA linshi/xxxxx.apk test
#刪除臨時(shí)apk文件
rm -rf linshi/xxxxx.apk
rm -rf zhiyuan/*