方法一:使用自己的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. 利用委托和泛型实现树的常用操作
  2. 自动驾驶软件工程课程之SLAM(1)
  3. 【洛谷】P1388 算式(dp)
  4. Silverlight中如何自己写方法将DataTable转换为PagedCollectionView数据(动态创建类)
  5. c#和python同一主机直接udp_为什么Python 如此之慢
  6. 生信宝典被分享最多的15篇文章
  7. SU Demos-03T-F Analysis-01Sugabor
  8. LOJ2001 SDOI2017 树点涂色 LCT、线段树
  9. mybatis plus+spring boot 多租户动态数据源实现方案
  10. Mysql数据库查询优化日常笔记
  11. 等级保护三级测评-----云计算安全扩展要求
  12. oracle财务系统名称,Oracle财务系统总账模块操作手册
  13. 有道无术,术可求;有术无道,止于术-----《程序员面试笔试宝典》
  14. 大话西游,唐僧与悟空合伙创业,股权几何?
  15. 等分频率法模拟随机波列(线性波叠加原理)
  16. 第十三届蓝桥杯复盘及未来规划
  17. M1 MacBook使用IE浏览器解决兼容问题
  18. 微信公众号给微信用户推送信息 模板信息
  19. 阿里云移动研发平台EMAS是什么?移动研发平台EMAS有什么特色?
  20. shell小技巧(十一)打印下面这句话中字母数不大于6的单词

热门文章

  1. 移动应用中字体库的设计与实现
  2. Java毕设:基于SSM的高校运动会管理系统(spring+spring mvc+mybatis+mysql)1008
  3. SQL 入门,看这篇就够了 ---- 基础篇
  4. 生成二维码并且将生成图片转换成输入流
  5. MySQL常用函数大全详解
  6. 硬件知识--无刷电机学习
  7. [VisualStudio实战]VS2013 ERROR C2011 C2375 C2059 C3805 C3861问题解决
  8. 系统框架与总体设计文档是什么
  9. Elasticsearch 6.6 官方文档 之「节点」
  10. 易灵思FPGA-项目设计指南一