利用Android源代码生成的签名文件给apk签名
2026/8/6 17:31:43 网站建设 项目流程

利用Android源代码生成的签名文件给apk签名的方法

以下方法在9P,10Q,11R,13,15,16版本上确认有效

1,通过java命令给apk文件重新签名的方法

需要源码下文件和几个so库:

out/host/linux-x86/framework/signapk.jar
build/make/target/product/security/platform.x509.pem
build/make/target/product/security/platform.pk8

若signapk.jar不存在,则需要源码下make signapk

Error: Unable to access jarfile out/host/linux-x86/framework/signapk.jar

签名方式

源码根目录下source ./build/env***.sh和lunch ***后,执行以下命令,给app-debug.apk进行系统签名,并输出签名apk为app-debug-out.apk

java-Djava.library.path=out/host/linux-x86/lib64-jar out/host/linux-x86/framework/signapk.jar build/make/target/product/security/platform.x509.pem build/make/target/product/security/platform.pk8 app-debug.apk app-debug-signed.apk

2, 利用源码的签名文件,给androidStudio配置源码签名

参考:
https://blog.csdn.net/weixin_40388758/article/details/132259389
https://blog.csdn.net/wang_qian_kun/article/details/117994589

首先将下面的两个文件复制到当前文件夹下

build/make/target/product/security/platform.x509.pem build/make/target/product/security/platform.pk8

然后执行命令生成mykey.keystore签名文件

openssl pkcs8-informDER-nocrypt-inplatform.pk8-outkey.pem openssl pkcs12-export-inplatform.x509.pem-inkeykey.pem-outplatform.p12-passwordpass:android-namemykey keytool-importkeystore-deststorepasspassword-destkeystoremykey.keystore-srckeystoreplatform.p12-srcstoretypePKCS12-srcstorepassandroid

在AndroidStudio工程的app/build.gradle.kts文件里配置签名信息

app/build.gradle:

android{signingConfigs{getByName("debug"){storeFile=file("/home/签名文件路径/mykey.keystore")storePassword="password"keyAlias="mykey"keyPassword="password"}}}

或者通过AndroidStudio提供的Project StructureUI界面配置:

3, 查看apk签名版本方式(V1,V2,V3,V4):

apksigner verify-v~/temp/app-debug-signed.apk 输出为:VerifiesVerifiedusing v1 scheme(JARsigning):falseVerifiedusing v2 scheme(APKSignatureSchemev2):falseVerifiedusing v3 scheme(APKSignatureSchemev3):trueVerifiedusing v4 scheme(APKSignatureSchemev4):falseVerifiedforSourceStamp:falseNumberof signers:1

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询