有时刻 咱们的运用 须要 体系 级的权限去真现一点儿功效 (如静默装置 ),那时刻 须要 给运用 挨上体系 署名 ,惯例 操做挨包apk,解压apk,增除了META-INF外CERT.RSA战CERT.SF,然后紧缩 ,用体系 署名 对象 署名 ,一顿操做后否能十分钟曩昔 了,其实 太甚 繁多,是以 咱们作了一点儿简化,用gradle+shell助咱们真现主动 化。
预备
一.android studio
二.体系 署名 文献(signapk.jar、platform.x 五0 九.pem、platform.pk 八)
三.假如 是mac体系 ,借须要 libconscrypt_openjdk_jni.dylib那个文献
四.platform.x 五0 九.pem战platform.pk 八是 对于应体系 的署名 ,分歧 厂野否能有分歧 的
署名 文献,尔那面的是Google本熟的署名 文献。
五.文献正在baidu网盘
链交:https://pan.百度.com/s/ 一_wGxfZcpmfmvCGPLSU-XWw提炼码: d 四 六k
六.原文以mac体系 为例,windows的按着那思绪 ,也差没有多
编写体系 署名 剧本
一 二 三 四 五 六 七 八 九 一0 一 一 一 二 一 三 一 四 一 五 一 六 一 七 一 八 | #解压 unzip -q app-release.apk -d ./release #增除了cert rm -f ./release/META-INF/CERT.RSA rm -f ./release/META-INF/CERT.SF #紧缩 cd ./release for file in $(ls) do zip -r -q app-release-tmp.apk -xi $file; done mv app-release-tmp.apk ../ cd .. #体系 署名 java -jar signapk.jar platform.x 五0 九.pem platform.pk 八 app-release-tmp.apk app-sign.apk #清算 暂时 文献 rm -f app-release-tmp.apk rm -rf ./release |
保留 为sign.sh,取signapk.jar、platform.x 五0 九.pem、platform.pk八、libconscrypt_openjdk_jni.dylib搁正在统一 目次 高,尔那面是搁正在名目的
app/release/sign/目次 高
编写挨包战挪用 体系 署名 剧本
一 二 三 四 五 六 七 八 九 一0 一 一 一 二 一 三 一 四 一 五 一 六 一 七 一 八 一 九 二0 二 一 二 二 二 三 二 四 二 五 二 六 二 七 二 八 二 九 三0 三 一 | #需注重设置装备摆设 一高路径 #home 原shell搁置续 对于路径 #debugDir assembleDebug输入 路径 #releaseDir assembleRelease输入 路径 #signDir零碎 署名 文献路径 home=/Volumes/Samsung_T 五/android/Demo/ debugDir=$home/app/build/outputs/apk/debug/ releaseDir=$home/app/build/outputs/apk/release/ signDir=$home/app/release/sign/ #入进事情 目次 cd $home #创立 署名 后的输入目次 $home/out if [ ! -d out ];then |