长话短说
首先工作中运行完代码,必须给apk进行系统签名,每次都是运行完了,离线进行签名,然后push进系统,比较的麻烦,所以讲使用Android studio进行系统的签名。
步骤可以参考网上例如文章链接
首先生成jks文件,比较简单,省略
第二步,下载keytool-importkeypair
将keytool-importkeypair,和platform.x509.pem、platform.pk8(这两个要在对应Android版本系统的build\target\product\security中取出来)三个文件放在linux系统环境中
第三步 ,编写签名脚本signature.sh
touch signature.sh 创建文件
vim signature.sh;编辑文件
输入
#!/bin/sh
# 转换系统签名命令
./keytool-importkeypair -k demo.jks -p 123456 -pk8 platform.pk8 -cert platform.x509.pem -alias demo
# demo.jks : 签名文件
# 123456 : 签名文件密码
# platform.pk8、platform.x509.pem : 系统签名文件
# demo : 签名文件别名
手动编辑,可以只输入
./keytool-importkeypair -k demo.jks -p 123456 -pk8 platform.pk8 -cert platform.x509.pem -alias demo
这一句话即可;
第四步,配置java环境变量(我自己的是source java_environment.sh)
第五步 执行./signature.sh,完成对jks文件的签名
第六步。
signingConfigs {
release {
storeFile file("c:/systemsign/tb_sign_3188.jks")
storePassword '123456'
keyAlias 'tb_android_sign_3188'
keyPassword '123456'
}
debug {
storeFile file("c:/systemsign/tb_sign_3188.jks")
storePassword '123456'
keyAlias 'tb_android_sign_3188'
keyPassword '123456'
}
}
//输出指定名称的apk
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
//这里修改apk文件名
def fileName = "RK.apk"
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
ok,就可以运行代码了