"关于本机"...">
美文网首页
AOSP打包签名发布

AOSP打包签名发布

作者: momxmo | 来源:发表于2020-04-09 16:19 被阅读0次

这里使用nexus 6p测试,对应设备为angler

安卓官方文档

一、版本号修改

"设置"---->"关于本机"----->“版本号”
AOSP8.1 nexus 6p使用官方最新版为:OPM7.181205.001 test-keys
对应java api代码获取是frameworks/base/core/java/android/os/Build.java会读取 /system/build.prop 文件里"ro.build.display.id" 对应的字符串;
而BUILD_DISPLAY_ID在文件build/core/Makefile中:
BUILD_DISPLAY_ID := $(BUILD_ID).$(BUILD_NUMBER)

最终修改下面两个位置:
其中 BUILD_ID在build/core/build_id.mk中赋值BUILD_ID := OPENMASTER
BUILD_NUMBER 在 build/core/version_defaults.mk中赋值:
BUILD_NUMBER := eng.$(USER).$(shell date +%Y%m%d.%H%M%S)
最终修改的位置:

二、编译系统

在编译系统之前执行lunch 只有28. aosp_angler-userdebug版本

eng:工程版本
user:发行版本
userdebug:部分调试版本

如果需要发布user版本需要到/device/huawei/angler/vendorsetup.sh添加

add_lunch_combo aosp_angler-userdebug
add_lunch_combo aosp_angler-user

开始编译

$source build/envsetup.sh
$lunch 29
//创建生成软件包存放目录,这一步可以不用,系统默认会生成在out/target/product/angler目录下
$mkdir dist_output
//开始编译
make dist DIST_DIR=dist_output

三、生成系统签名秘钥

aosp默认使用签名测试使用,正式生成需要自己生成签名文件,用于对apkota升级包系统镜像等进行签名发布
可以再aosp跟目录下创建key_create.sh脚本生成签名文件:

subject='/C=CN/ST=ShenZhen/L=ShenZhen/O=momxmo/OU=mo/CN=www.momxmo.com/emailAddress=test@126.com'
for x in releasekey platform shared media;
do
  ./development/tools/make_key build/target/product/security/$x "$subject";
done

最终,会在build/target/product/security目录下生成releasekey platform shared media对应的pk8和x509.pem文件

修改系统默认签名key android配置在/build/core/config.mk中定义变量:
DEFAULT_SYSTEM_DEV_CERTIFICATE := build/target/product/security/testkey
TO
DEFAULT_SYSTEM_DEV_CERTIFICATE := build/target/product/security/releasekey

四、对apk包进行签名

sign_target_files_apks 脚本将目标文件 .zip作为输入文件,并生成一个新的目标文件 .zip,其中所有的 .apk文件都已使用新密钥签名

./build/tools/releasetools/sign_target_files_apks  -o --default_key_mappings build/target/product/security out/dist/*-target_files-*.zip signed-target_files.zip

五、对OTA更新包进行签名

将已签名的目标文件 zip 转换为已签名的 OTA 更新 zip:

./build/tools/releasetools/ota_from_target_files --key_mapping build/target/product/security/releasekey signed-target_files.zip signed-ota_update.zip

六、对镜像文件进行签名

一旦您签署了目标文件 .zip,您便需要创建映像,以便将其存放到设备上。要从目标文件中创建已签名的映像,请在 Android 树形结构的根目录下运行以下命令:

./build/tools/releasetools/img_from_target_files signed-target-files.zip signed-img.zip

生成的文件 signed-img.zip 中包含所有 .img 文件。要将映像加载到设备上,请使用 fastboot,如下所示:

fastboot update signed-img.zip

相关文章

网友评论

      本文标题:AOSP打包签名发布

      本文链接:https://www.haomeiwen.com/subject/hgizphtx.html