1. 生成 platform.jks

1
2
3
4
5
6
7
8
9
10
11
12
13
# 1. 下载工具
cd /tmp
git clone https://github.com/getfatday/keytool-importkeypair.git
cd keytool-importkeypair
chmod +x keytool-importkeypair

# 2. 生成 jks(一条命令完成)
./keytool-importkeypair \
-k /home/zero/下载/EthernetControl/app/platform.jks \
-p android \
-pk8 /media/zero/data1/RK_Android_10.0_sdk/build/target/product/security/platform.pk8 \
-cert /media/zero/data1/RK_Android_10.0_sdk/build/target/product/security/platform.x509.pem \
-alias platform

参数说明:

  • -k 输出 jks 路径

  • -p keystore 密码

  • -pk8 AOSP 私钥

  • -cert AOSP 公钥证书

  • -alias 密钥别名

我生成时使用的命令:

1
./keytool-importkeypair -k ./rk3288_android10/rk3288_android10.jks -p 123456 -pk8 ./rk3288_android10/platform.pk8 -cert ./rk3288_android10/platform.x509.pem -alias rk3288_android10

2.复制 jks 文件

将生成的 rk3288_android10.jks 复制到 android 项目 app 目录下, 与 src 目录同级

3. 配置 build.gradle

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
plugins {
id 'com.android.application'
}

android {
compileSdkVersion 29
buildToolsVersion "29.0.3"

defaultConfig {
applicationId "com.rk3288.ethernetcontrol"
minSdkVersion 29
targetSdkVersion 29
versionCode 1
versionName "1.0"
}

// 签名配置
signingConfigs {
platform {
storeFile file("platform.jks")
storePassword "android"
keyAlias "platform"
keyPassword "android"
}
}

buildTypes {
debug {
signingConfig signingConfigs.platform
}
release {
signingConfig signingConfigs.platform
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}

lintOptions {
checkReleaseBuilds false
abortOnError false
}
}

dependencies {
compileOnly files('libs/framework.jar')
}

根据情况修改实际应该为:

1
2
3
4
5
6
7
8
9
// 签名配置
signingConfigs {
platform {
storeFile file("rk3288_android10.jks")
storePassword "123456"
keyAlias "rk3288_android10"
keyPassword "123456"
}
}