方法一:使用自己的Android签名工具给apk重新签名:

(1)该目录下有 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。

(2) Android自带的签名工具为 signapk.jar, 可以在源码编译目录out中找到,具体路径为:out/host/linux-x86/framework/signapk.jar,签名指令如下:

java -jar signapk.jar platform.x509.pem platform.pk8 old.apk new.apk(拷贝到同一目录执行签名)

8.0上验证需要额外的一些参数:

java -Xmx2048m -Djava.library.path="out/host/linux-x86/lib64" \(直接在源码根目录执行签名)

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

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

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

old.apk new.apk

方法二:通过Android源码编译成签名apk:

(1)编写Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE :=app

LOCAL_SRC_FILES :=app.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 。

注:LOCAL_CERTIFICATE := platform         表示使用系统签名

LOCAL_DEX_PREOPT := false    不提前优化,无oat文件

方法三:Android studio配置签名工具:(1)生成本地key:

(2)下载keytool-importkeypair工具

./keytool-importkeypair -k [jks文件名] -p [jks的密码] -pk8 platform.pk8 -cert platform.x509.pem -alias [jks的别名]

如:

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

将修改好的SignDemo.jks更新到android studio原来设置的目录,即可下一步生成签名APK。

生成路径:\xxxx\app\release

原文:https://www.cnblogs.com/blogs-of-lxl/p/9233285.html

android签名方法,Android : apk系统签名的多种方法相关推荐

  1. android自动获取系统时间,Android获取系统时间的多种方法

    Android中获取系统时间有多种方法,可分为Java中Calendar类获取,java.util.date类实现,还有android中Time实现. 现总结如下: 方法一: void getTime ...

  2. 使用signapk工具给apk系统签名

    使用signapk给apk系统签名: 1.准备signapk.jar文件 查找路径: .\out\host\linux-x86\framework\signapk.jar 2.platform.x50 ...

  3. Android开发中怎样调用系统Email发送邮件(多种调用方式)

    在Android中调用其他程序进行相关处理,几乎都是使用的Intent,所以,Email也不例外,所谓的调用Email,只是说Email可以接收Intent并做这些事情 我们都知道,在Android中 ...

  4. DMG转ISO文件在windows系统下的多种方法

    文章来自本人博客:https://lwxshow.com/post/1476.html DMG转ISO文件在windows系统下的多种方法. 大家可能都想在vm虚拟机上安装苹果系统,直接加载dmg不行 ...

  5. C#利用方法重载实现2个整数,2个双精度数,3个整数中求最大值。由于设计了方法重载,系统会根据调用方法时传递的实参类型和个数而自动选择相应的方法来求最大数。

    1.题目要求如下: C#利用方法重载实现2个整数,2个双精度数,3个整数中求最大值.由于设计了方法重载,系统会根据调用方法时传递的实参类型和个数而自动选择相应的方法来求最大数. 2.来吧展示,代码如下 ...

  6. Android进阶-apk系统签名

    一.来源 有时候我们开发一个apk需要系统权限,于是我们便会在apk的AndroidManifest.xml中添加如下属性: android:sharedUserId="android.ui ...

  7. Android应用程序如何进行系统签名

    有时写一个程序需要调用系统的库,如果权限不够,是用不了库里面一些方法的 .这时就需要将apk进行系统签名了. 简单常用的方法: 1,在apk的AndroidManifest.xml中的manifest ...

  8. Android使用keytool-importkeypair生成一个系统签名,只要打包的时候使用该签名,便可以获得系统所有权限

    Android系统源码中提供了platform.x509.pem .platform.pk8等签名文件例如: 这个是不能直接在调试的时候使用的,如果要用,需要先转换为android studio调试用 ...

  9. apk系统签名小技巧

    前言 对于经常和android系统打交道的攻城狮来说,给app打系统签名一定是日常操作啦.由于最近使用的比较多,特此总结一下,减少复制粘贴的操作,通过命令行来搞定. 简化前的操作 1.Android ...

最新文章

  1. PNAS顶刊文:情侣分手3个月前就有预兆!聊天记录还能反映分手后遗症
  2. PHP错误日志,解决不显示不记录日志文件等疑难杂症
  3. 僵尸网络中区块链的利用方法分析
  4. 面向对象和面向过程,python中的类class,python中程序的入口——main方法,
  5. Android 怎样查看系统的memory swap 资讯/信息
  6. spss非线性回归分析步骤_SPSS与简单线性回归分析
  7. 如何调查一家公司是否靠谱?
  8. UI自动化测试 appium简介
  9. MySQL第41题怎么评分_mysql练习题1-41
  10. 通过串口打印--超声波测距模块测得距离
  11. 【kafka】kafka 查看 GroupCoordinator 以及 kafka Group dead 消费组死掉 以及 GroupCoordinatorRequest 使用
  12. 虚拟机VM10装Mac OS X 10.9.3
  13. 128.深入 cookie ,session
  14. 上市也没打算盈利?Hadoop之父企业Cloudera好任性
  15. plc几种常用的编程语言特点
  16. input函数使用及运算符
  17. uint8_t和char的相互转换
  18. 国内公有云对比(1.5)- 功能篇之青云
  19. 如何使用QT调用外部可执行程序
  20. 链表分解单双数c语言代码,编写一程序,将带头结点的单链表拆成一个奇数链表和一个偶数链表...

热门文章

  1. Xshell | Xftp 免费版
  2. 火山PC使用百度OCR接口识别文字
  3. # 研究杂感 × Gephi探秘飞升(第三辑)
  4. 中国健康与营养调查数据(chns)
  5. Linux内核源码分析《进程管理》
  6. linux安装SecureCRT安装教学
  7. 小程序 - 各种小程序「微信/支付宝/百度等」 - 学习/实践
  8. mac 苹果如何才能实现剪切文件
  9. L289N步进电机驱动原理
  10. TestBench编写_激励产生