热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android获取真正的签名,androidstudio创建签名文件

apk的签名,简单说开发者可以通过签名对应用进行标识和更新。包名在一个设备上是唯一的,这样可以避免被相同包名应用随意覆盖安装。下面介绍的是Android系统中的签名相关内容。这个私


apk的签名,简单地说,开发者可以通过签名来识别和更新APP应用。 软件包名称在单个设备上是唯一的,因此可以避免被具有相同软件包名称的APP应用程序随意复盖和安装。 这是非常重要的安全功能。


系统中的签名文件也可以签名系统中的APP应用程序,编译APP应用程序可以指定签名类型。


以下是有关Android系统中签名的内容。


安卓系统的主要签名文件


media.pk8,media.x509.pem; platform.pk8,platform.x509.pem; releasekey.pk8,releasekey.x509.pem; shared.pk8,shared.x509.pem; testkey.pk8,testkey.x509.pem。


安卓系统签名文件的路径


在build/target/product/security/目录下。


编译时放置签名文件


在Android.mk中,通过设置LOCAL_CERTIFICATE来实现。 例如,如果local _ certificate :=platform,请选择platform进行签名。


注意:预设不带源代码的apk APP时,通常会保留原始第三方签名。 local _ certificate 3360=已预配置。


. pk8和. x509.pem的区别


. pk8是私钥文件,用于签名apk。 此私钥必须保密保存,不能公开。


. x509.pem是证书文件,相当于公钥。 它可以公开,主要用于验证某个apk是否由相应的私钥签名。


按系统列出的签名文件差异


个人资料:


共享用户id


对于每个apk和文件,系统将分配自己的统一用户ID(UID ),并创建一个沙箱以确保其他APP应用程序的影响和对其他APP应用程序的影响。 例如,一般APP应用程序只能访问自己包名的文件(/data/data/pkgname ),不能反问其他包名的文件,其他APP应用程序也只能访问自己包名的文件


sharedUserId可以在具有相同user id的APP应用程序之间共享数据库和文件,并相互访问。 这些APP应用程序可以在同一进程中运行,也可以在不同进程中运行。


shared用户id和签名文件


只有具有相同sharedUserId标记且具有相同签名的APP应用程序才能分配相同的用户ID来共享数据。 仅具有相同的sharedUserId标签无法确保安全性,容易被非法利用。


中5种签名文件的说明


platform:平台的核心APP应用签名、签名的apk是完成系统的核心功能。 这些apk所在的进程UID是system。 manifest节点中添加了Android : shared userid=' Android.uid.system '。


签名为media:的apk是media/download的一部分。 manifest节点中添加了Android : shared userid=' Android.media '。


签名为shared:的apk可以与home/contacts进程共享数据。 manifest节点中添加了Android : shared userid=' Android.uid.shared '。


测试密钥/释放密钥:平台的默认密钥。 如果编译中未指定LOCAL_CERTIFICATE,则缺省情况下使用testkey。 由于testkey是公开的,任何人都可以获得并且不安全,因此通常使用自己创建的releasekey作为默认key。


更改平台的默认签名


在build/core/config.mk路径中,修改以下变量:


efault _ system _ dev _ certificate :=build/target /产品/security/release key


或使用宏控件进行选择。


在system/se policy/private/keys.conf和system/se policy/pre built s/API/{ API level }/private/keys.conf下,修改:


- eng : $ default _ system _ dev _ certificate/test key.x509.PEM


- user : $ default _ system _ dev _ certificate/test key.x509.PEM


- user debug : $ default _ system _ dev _ certificate/test key.x509.PEM


eng : $ default _ system _ dev _ certificate/release key.x509.PEM


user : $ default _ system _ dev _ certificate/release key.x509.PEM


user debug : $ default _ system _ dev _ certificate/release key.x509.PEM


在build/core/core/Makefile中的更改变量如下:


build _ version _ tags=release-keys


或使用宏控件进行选择。


创建平台签名


在项目目录中运行以下命令将生成一组平台、共享、介质和释放密钥签名文件:


subject='/c=us/ST=California/l=mountain view/o=Android/ou=Android/cn=Android/email address=Android


mkdir ~/.android-certs


forxinreleasekeyplatformsharedmedia; do () )。


./development/tools/make _ key~~/. Android-certs/$ x ' $ subject '; \


道恩


注:


生成使用项目的./development/tools/make_key脚本,依次生成


subject参数的含义:


c----计数名称(2letter代码) )。


ST---- stateorprovincename (完整名称) )。


L----localityname(EG,city ) ) )。


o----组织名称(eg,company ) )。


Ou----逻辑单元名称(Eg,section ) )。


cn----公共名称(eg,your name or your server's hostname ) )。


电子邮件地址--- -联系人电子邮件地址


生成签名文件的过程通常按回车。 输入密码后,必须手动输入才能签署apk。


显示签名apk的签名信息


ky tool-printcert-jarfile XXX.apk


使用此命令可以查看有关apk使用的签名的信息,如下图所示


使用系统签名文件直接签名apk


Java-DJ ava.library.path=.-jarsignapk.jar XXX.x509.PEM XXX.pk8 before sign.apkaftersign.apk


如下例所示,


用releasekey签名app-debug.apk,签名后的apk名称为app-debug_release.apk。


请注意传球。 例如,signapk.jar路径位于out/host/Linux-x86/framework/sign apk.jar中,可以进行复制。 已经讨论了平台签名文件的路径。 如果有误报,注意提示并调整即可。


Java-DJ ava.library.path=.-jarsignapk.jarreleasekey.x509.pemreleasekey.pk8 app-debug.apk app-debug _ rebu red


推荐阅读
  • 在CentOS上部署和配置FreeSWITCH
    在CentOS系统上部署和配置FreeSWITCH的过程涉及多个步骤。本文详细介绍了从源代码安装FreeSWITCH的方法,包括必要的依赖项安装、编译和配置过程。此外,还提供了常见的配置选项和故障排除技巧,帮助用户顺利完成部署并确保系统的稳定运行。 ... [详细]
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
  • 本题库精选了Java核心知识点的练习题,旨在帮助学习者巩固和检验对Java理论基础的掌握。其中,选择题部分涵盖了访问控制权限等关键概念,例如,Java语言中仅允许子类或同一包内的类访问的访问权限为protected。此外,题库还包括其他重要知识点,如异常处理、多线程、集合框架等,全面覆盖Java编程的核心内容。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • JVM参数设置与命令行工具详解
    JVM参数配置与命令行工具的深入解析旨在优化系统性能,通过合理设置JVM参数,确保在高吞吐量的前提下,有效减少垃圾回收(GC)的频率,进而降低系统停顿时间,提升服务的稳定性和响应速度。此外,本文还将详细介绍常用的JVM命令行工具,帮助开发者更好地监控和调优JVM运行状态。 ... [详细]
  • 如何提高工程编译速度
    点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,麻烦点个在看或点个赞,感谢~     文章首发  公众号——Pou光明公众号还在维护,大家莫慌~LinuxQt平台为例测试编译 ... [详细]
  • Spring Security 认证模块的项目构建与初始化
    本文详细介绍了如何构建和初始化Spring Security认证模块的项目。首先,通过创建一个分布式Maven聚合工程,该工程包含四个模块,分别为core、browser(用于演示)、app等,以构成完整的SeehopeSecurity项目。在项目构建过程中,还涉及日志生成机制,确保能够输出关键信息,便于调试和监控。 ... [详细]
  • 在进行网络编程时,准确获取本地主机的IP地址是一项基本但重要的任务。Winsock作为20世纪90年代初由Microsoft与多家公司共同制定的Windows平台网络编程接口,为开发者提供了一套高效且易用的工具。通过Winsock,开发者可以轻松实现网络通信功能,并准确获取本地主机的IP地址,从而确保应用程序在网络环境中的稳定运行。此外,了解Winsock的工作原理及其API函数的使用方法,有助于提高开发效率和代码质量。 ... [详细]
  • 本文首先对信息漏洞的基础知识进行了概述,重点介绍了几种常见的信息泄露途径。具体包括目录遍历、PHPINFO信息泄露以及备份文件的不当下载。其中,备份文件下载涉及网站源代码、`.bak`文件、Vim缓存文件和`DS_Store`文件等。目录遍历漏洞的详细分析为后续深入研究奠定了基础。 ... [详细]
  • 成功实现Asp.Net MVC3网站与MongoDB数据库的高效集成
    我们成功地构建了一个基于Asp.NET MVC3框架的网站,并实现了与MongoDB数据库的高效集成。此次更新不仅完善了基本的创建和显示功能,还全面实现了数据的增删改查操作。在创建功能方面,我们修复了之前代码中的错误,确保每个属性都能正确生成。此外,我们还对数据模型进行了优化,以提高系统的性能和稳定性。 ... [详细]
  • 深入解析 Spring MVC 的核心原理与应用实践
    本文将详细探讨Spring MVC的核心原理及其实际应用,首先从配置web.xml文件入手,解析其在初始化过程中的关键作用,接着深入分析请求处理流程,包括控制器、视图解析器等组件的工作机制,并结合具体案例,展示如何高效利用Spring MVC进行开发,为读者提供全面的技术指导。 ... [详细]
  • 如何判断电容好坏?
    关注+星标公众号,不错过精彩内容来源 | 电子电路怎样测量小容量电容的好坏?1、检测10pF以下的小电容,因10pF以下的固定电容器容量太小,如果用指针式用万用表进行测量,只能定性 ... [详细]
  • 个人博客https:juejin.cnuser176366088104638和http:blog.wuzhenyu.com.cncmake编译动态库和链接动态库cmake中&#x ... [详细]
  • ubuntu下基于c++的opencv学习
    一、环境配置1、安装opencv2、makefile编写makefile模板,与c文件在同一个目录下,用make指令生成可执行文件,然后运 ... [详细]
  • [转]Makefile 使用总结
    2019独角兽企业重金招聘Python工程师标准1.Makefile简介Makefile是和make命令一起配合使用的.很多大型项目的编译都是通过Makefile来组织的,如 ... [详细]
author-avatar
干将stambach_611
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有