目录
1. 📂 背景
2. 🔱 制作Android系统签名
步骤一:找到platform.pk8和platform.x509.pem签名文件
步骤二:下载keytool-importkeypair签名工具
步骤三:使用签名文件和签名工具生成.jks签名文件
3. ✅ 使用Android系统签名
步骤一:在项目的app模块根目录下新建signing.properties文件
步骤二:将生成的xxx.jks文件放在项目的app模块根目录下
步骤三:app模块build.gradle中新增签名信息
步骤四:运行应用即可使用系统签名
4. ⚛️ 手动给apk系统签名
1. 📂 背景
系统应用以及使用sharedUserId为android.uid.system的应用,需要和系统的签名保持一致。
2. 🔱 制作Android系统签名
步骤一:找到platform.pk8和platform.x509.pem签名文件
Android原生系统一般是放在 \build\target\product\security\ 目录下,如图:
如果使用的设备厂商没有对这个改动过,则使用google给的这两个就行了;如果厂商做过处理,需要向厂商索取该文件(或者参考厂商文档找到此文件;或者在通过Search在项目中搜索这两个文件)。
步骤二:下载keytool-importkeypair签名工具
下载路径:https://github.com/getfatday/keytool-importkeypair
步骤三:使用签名文件和签名工具生成.jks签名文件
- 在项目根目录下创建文件夹signApk,并将签名工具和签名文件都放到该文件夹下;
- 在该文件夹下创建signature.sh脚本文件,方便直接生成签名;
- 编写signature文件,如果是在windows下的话,双击便可以得到签名文件;如果是在linux环境下,可直接执行生成.jks签名文件的命令。
sh keytool-importkeypair -k ./xxx.jks -p myjks -pk8 platform.pk8 -cert platform.x509.pem -alias signApk
注:xxx.jks 是生成签名文件的名称,myjks 是签名的密码,signApk 是签名的别名。
3. ✅ 使用Android系统签名
步骤一:在项目的app模块根目录下新建signing.properties文件
KEY_STORE_FILE = xxx.jks
KEY_STORE_ALIAS = signApk
KEY_STORE_KEY_PASSWD = myjks
KEY_STORE_PASSWD = myjks
步骤二:将生成的xxx.jks文件放在项目的app模块根目录下
步骤三:app模块build.gradle中新增签名信息
Properties signingProps = new Properties()
signingProps.load(new FileInputStream(file("signing.properties")))
android {
signingConfigs {
myKey {
keyAlias signingProps['KEY_STORE_ALIAS']
keyPassword signingProps['KEY_STORE_KEY_PASSWD']
storeFile file(signingProps['KEY_STORE_FILE'])
storePassword signingProps['KEY_STORE_PASSWD']
v1SigningEnabled true
v2SigningEnabled true
}
}
buildTypes {
release {
minifyEnabled false
signingConfig signingConfigs.myKey
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
signingConfig signingConfigs.myKey
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
步骤四:运行应用即可使用系统签名
4. ⚛️ 手动给apk系统签名
在当前 app-debug.apk 路径执行下,使用out/soong/host/linux-x86/framework/signapk.jar文件,运行下面java命令,生成系统签名后的 app-debug-signed.apk 。
java -Djava.library.path="/home/tianbinbin-Share/project目录/out/host/linux-x86/lib64" -jar /home/tianbinbin-Share/project目录/out/soong/host/linux-x86/framework/signapk.jar /home/tianbinbin-Share/project目录/build/target/product/security/platform.x509.pem /home/tianbinbin-Share/project目录/build/target/product/security/platform.pk8 app-debug.apk app-debug-signed.apk
1. 📂 背景
2. 🔱 制作Android系统签名
步骤一:找到platform.pk8和platform.x509.pem签名文件
步骤二:下载keytool-importkeypair签名工具
步骤三:使用签名文件和签名工具生成.jks签名文件
3. ✅ 使用Android系统签名
步骤一:在项目的app模块根目录下新建signing.properties文件
步骤二:将生成的xxx.jks文件放在项目的app模块根目录下
步骤三:app模块build.gradle中新增签名信息
步骤四:运行应用即可使用系统签名
4. ⚛️ 手动给apk系统签名