java 签名apk_Android : apk签名的多种方法以及key的配置

方法一:使用Android SDK中的签名工具给apk签名:

(1)Android源码的 build/target/product/security/ 目录下有 media.pk8、media.x509.pem、platform.pk8、platform.x509.pem、shared.pk8、shared.x509.pem、testkey.pk8、testkey.x509.pem等签名文件,不同的签名文件对应不同的权限,Android默认的签名文件为testkey.pk8、testkey.x509.pem。

d88be23cb8a327dbfabdd98896cf0324.png

(2) Android SDK中的签名工具为 signapk.jar,具体路径:out/host/linux-x86/framework/signapk.jar,签名指令如下:

java -jar signapk.jar platform.x509.pem platform.pk8 old.apk new.apk

8.0上验证需要额外的一些参数: (直接在源码根目录执行签名,但是7.0以上采用 APK Signature Scheme v2,会导致安装不了,但是增加参数 --disable-v2无效,知道原因的朋友还请告知一下!)

java -Xmx2048m -Djava.library.path="out/host/linux-x86/lib64" \

-jar out/host/linux-x86/framework/signapk.jar  --disable-v2 \

-w build/target/product/security/platform.x509.pem \

build/target/product/security/platform.pk8 \

old.apk new.apk

方法二:通过Android.mk配置编译成签名apk:

(1)编写Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE :=app //要签名的apk名称

LOCAL_SRC_FILES :=app.apk //apk文件

LOCAL_MODULE_CLASS :=APPS

LOCAL_MODULE_SUFFIX :=.apk

LOCAL_BUILT_MODULE_STEM :=package.apk

LOCAL_CERTIFICATE :=platform //系统签名

LOCAL_DEX_PREOPT := falseLOCAL_PRIVILEGED_MODULE := trueinclude $(BUILD_PREBUILT)

(2)将apk放入.mk同目录(命名为app.apk),配置好sdk编译环境后执行mm指令编译,签名apk生成在:out/target/product/xxxx/system/priv-app/app/app.apk 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值