Android系统签名的制作与使用

目录

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签名文件

  1. 在项目根目录下创建文件夹signApk,并将签名工具和签名文件都放到该文件夹下;
  2. 在该文件夹下创建signature.sh脚本文件,方便直接生成签名;
  3. 编写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系统签名

  • 20
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值