RockChip主板系统签名说明

简介

线下设备使用的都是RockChip芯片的主板,我们要求最终运行的App都有系统权限,因此最终签名都会使用系统签名。之前都是打包完成之后再手动签名,现改成打包的时候直接使用RockChip的签名。

操作

手动签名

先生成apk,然后使用 signapk.jar 签名:

java -jar signapk.jar platform.x509.pem platform.pk8 in.apk out.apk

Gradle签名

task ttdevs(type: Exec) {
    String apkPath = "${rootProject.projectDir}/app/build/outputs/apk/"
    String signPath = "${rootProject.projectDir}/"

    file(apkPath).listFiles(new FileFilter() {
        @Override
        boolean accept(File file) {
            return file.name.endsWith(".apk") && !file.name.startsWith("signed")
        }
    }).each { File file ->
        // println file.path =  file.parent + file.name
        commandLine "java", "-jar", "${signPath}/signapk.jar",
                "${signPath}/platform.x509.pem",
                "${signPath}/platform.pk8",
                "${file.path}",
                "${file.parent}/signed_${file.name}"
    }
}

系统签名

sh keytool-importkeypair.sh -k rockchip.jks -pk8 platform.pk8 -cert platform.x509.pem -alias rockchip -p rockchip

  • k: 生成的 keystore 文件
  • pk8: 要导入的 platform.pk8 文件
  • cert: 要导入的 platform.x509.pem 文件
  • alias 生成的 keystore 的 alias
  • p: 生成的 keystore 文件的密码

build.gradle 中使用上面生成的 rockchip.jks

android {
    ...
    signingConfigs {
        rockchip {
            keyAlias 'rockchip'
            keyPassword 'rockchip'
            storeFile file('rockchip.jks')
            storePassword 'rockchip'
        }
    }
    ...
}

查看签名信息

  • Android studio

    Gradle > app > Tasks > android > signingReport

  • 查看apk的签名

    解压apk,找到 META-INF/CERT.RSA,执行:

    keytool -printcert -file META-INF/CERT.RSA

文件列表

  • platform.pk8

    MD5: 67c8896ff5995a62ef31e60436ef129e

  • platform.x509.pem

    MD5: 5bf3063021a4e4cfa8203e1cb2bf9f4f

  • keytool-importkeypair.sh

    • 添加可执行权限:chmod +x keytool-importkeypair.sh

    • 工具下载地址:https://github.com/getfatday/keytool-importkeypair

  • rockchip.jks

    签名文件的MD5: 7ba48fc279bcae59f7005310ae8c5aea
    签名信息:
    Alias: rockchip
    MD5: 0E:BA:50:A4:5C:15:B3:5D:97:7D:04:D8:43:79:B3:55
    SHA1: 41:79:1C:9B:8F:AF:15:E1:AC:D5:AA:F5:92:10:FD:42:46:7D:82:77
    Valid until: Saturday, May 10, 2042

你可能感兴趣的:(android)