当前位置: 首页 > news >正文

安卓APP备案的三要素包名,公钥,签名md5值详细获取方法-优雅草卓伊凡

安卓APP备案的三要素包名,公钥,签名md5值详细获取方法-优雅草卓伊凡

我们来非常详细地讲解如何获取安卓APP备案所需的三个关键信息:APP包名APP公钥APP签名MD5值

根据工信部的要求,这三项是安卓应用备案时必须提供的信息,它们唯一地标识了您的应用,网上有很多其他方法,我看了绕来绕去更麻烦,我给客户甲方做一个最简单的方法,有些在线工具也复杂的很多,另外提一句dcloud真的太方便了,那些黑他们的人到底是什么人我现在都没懂。


一、 APP包名 (Package Name)

1. 是什么?
APP包名是应用程序的唯一标识符,类似于互联网网站的域名。它在整个Android生态系统中必须是独一无二的。格式通常为逆序域名,例如 com.example.myapp

2. 如何获取?
获取包名有多种方法,这里介绍最直接和可靠的两种。

方法一:从项目的AndroidManifest.xml文件中查看(最准确)
这是最根本的方法,因为所有其他地方的包名都源自这个文件。

  1. 使用Android Studio打开您的项目。
  2. 在左侧的项目导航栏中,找到并打开 app -> src -> main -> AndroidManifest.xml 文件。
  3. 在根 <manifest> 标签中,package 属性值就是您的APP包名。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.tencent.cloud.demo"> <!-- 这里就是包名 --><application...>...</application>
</manifest>

正常安卓项目都是这样看

方法二:从已打包的APK/AAB文件中解析
如果您只有一个已经打包好的安装包,可以使用工具来解析。

  1. 使用分析工具:
    • 将APK文件拖入Android Studio中。
    • 或者使用任何APK分析工具(如Jadx-GUI, APK Info等)。
  1. 查看入口信息: 在解析后的信息中,查找 AndroidManifest.xml,其中的 package 属性就是包名。

备案填写: 直接复制 package 属性的值即可。


不过这里我们以dcloud为例的话在打包的时候直接写的

二、 APP公钥 (Public Key)

1. 是什么?
这里的“APP公钥”指的是您用来给APK进行签名的签名证书的公钥。备案系统需要它来验证您提交的APK是否由对应的私钥签名,确保应用来源的真实性。

2. 如何获取?(以腾讯云为例)
腾讯云等平台通常会为您管理签名证书。获取公钥需要先下载证书文件(通常是 .keystore.jks 文件),然后使用命令行工具提取公钥。

步骤一:获取签名证书文件 (.jks或.keystore)

  1. 登录腾讯云控制台,进入您的“移动应用安全”或“APP发布”相关服务。
  2. 找到您应用的签名证书管理页面。不同服务位置可能不同,通常在“应用加固”或“渠道发布”等功能中。
  3. 如果您之前已经创建过证书,这里会提供下载选项。如果还没有,请先创建一个新的签名证书(切记保管好密码和别名!)。
  4. 将证书文件(例如 your_app.jks)下载到本地电脑。

这个还比较麻烦,

步骤二:使用Keytool工具提取公钥信息
keytool 是JDK自带的一个工具,用于管理密钥和证书。

  1. 打开命令行终端(Windows:CMD或PowerShell;Mac:Terminal)。
  2. 输入以下命令(请替换括号内的内容为您的实际信息):
keytool -list -rfc -keystore [您的签名证书文件路径] -alias [您的证书别名] -storepass [您的密钥库密码]
    • [您的签名证书文件路径]:替换为 your_app.jks 文件在您电脑上的完整路径,例如 C:\Users\Name\Desktop\your_app.jks
    • [您的证书别名]:创建证书时您设置的别名。如果忘记,可以先运行 keytool -list -keystore [文件路径] -storepass [密码] 来查看。
    • [您的密钥库密码]:创建证书时设置的密码。

示例命令:

keytool -list -rfc -keystore C:\app\my_keystore.jks -alias my_alias -storepass 123456

编写好对应要执行的

  1. 复制公钥内容。命令执行后,终端会输出一串以 -----BEGIN PUBLIC KEY----- 开头,以 -----END PUBLIC KEY----- 结尾的Base64编码字符串

  1. 将这整个内容(包括 BEGINEND 两行)完整地复制出来。

备案填写: 将复制出来的整个文本块粘贴到备案系统的“公钥”字段中。

网上看了其他方法会更麻烦


三、 APP签名MD5值 (Signature MD5)

1. 是什么?
这是您的签名证书的MD5指纹值,是证书的唯一标识。备案系统会通过比对您提交的MD5和APK文件实际签名证书的MD5来判断一致性。

2. 如何获取?(以DCloud云生成证书为例)
DCloud的开发者可以在后台直接申请云证书,并很方便地获取其MD5值。

方法一:在DCloud后台直接查看(最简单)

  1. 登录DCloud开发者中心。
  2. 进入“我的应用”,选择您要备案的应用。
  3. 在左侧菜单中找到 “证书管理”“云打包” 相关选项。
  4. 如果您已经生成了安卓云端证书,在证书详情页面通常会直接显示该证书的MD5指纹和SHA1指纹等信息。
  5. 直接复制 MD5 那一行的值(通常是一串由冒号分隔的16进制数,如 A0:B1:C2:...)。

dcloud 很方便 确实

方法二:使用Keytool工具计算(备用方法)
如果后台没有直接显示,您也可以下载证书文件,然后用 keytool 计算,步骤与获取公钥类似。

  1. 下载证书:在DCloud证书管理页面,将您使用的安卓证书(.keystore文件)下载到本地。
  2. 使用keytool命令
    运行以下命令(与获取公钥命令类似,但不需要 -rfc 参数):
keytool -list -v -keystore [您的.keystore文件路径] -alias [证书别名] -storepass [密钥库密码]
    • DCloud云证书的默认别名通常是 android
    • 密钥库密码是您申请证书时设置的密码。如果忘记,可以在DCloud后台查看或重置。
  1. 查找MD5值:命令执行后,会输出证书的详细信息。在“证书指纹”部分,找到 MD5 这一行,后面的一串字符就是所需的MD5签名。
证书指纹:MD5:  A0:B1:C2:D3:E4:F5:67:89:0A:1B:2C:3D:4E:5F:60:71SHA1: ... ...SHA256: ... ...

备案填写:

  • 备案系统通常要求提供32位连续大写的MD5值(去掉冒号)。
  • 将获取到的MD5值(如 A0:B1:C2:...71)中的冒号 : 全部删除,并确保字母是大写。
  • 最终填入备案系统的字符串应该是:A0B1C2D3E4F567890A1B2C3D4E5F6071

总结与核对

为了确保您在备案系统中填写的信息万无一失,强烈建议进行核对:

  1. 一致性检查:确保您获取“公钥”和“MD5签名”所使用的签名证书文件(.jks/.keystore)是同一个,并且是您最终用来打包发布APP的那个证书。
  2. 在线工具验证:打包生成APK后,可以使用工信部提供的官方核验工具(或其他可靠的第三方APK签名信息提取工具)扫描您的APK文件,提取出的包名、公钥和MD5值应与您提交的备案信息完全一致。这是最保险的验证方法。

然后关于公钥如果你的是在dlcoud的证书,也很方便,操作如下:

好的,在DCloud环境中获取安卓APK证书的公钥(用于备案)非常方便,主要有两种方法。

核心概念澄清

首先需要明确:公钥是从您给APK签名的证书文件(.keystore)中提取出来的。在DCloud中,这个证书文件要么是您自己上传的,要么是使用DCloud的“云证书”功能由系统为您生成的。

因此,获取公钥的关键在于先获得这个.keystore证书文件

获取公钥这个部分基本上省不了,其他的方法 我感觉更麻烦

看我们证书地址


文章转载自:

http://bRlYHRpC.jLnLr.cn
http://5Tf2QCDz.jLnLr.cn
http://KBA2gnWp.jLnLr.cn
http://hTvdvNRY.jLnLr.cn
http://6hBroeOS.jLnLr.cn
http://9pB6ZZs7.jLnLr.cn
http://fx3JLmDC.jLnLr.cn
http://oNyOF0jg.jLnLr.cn
http://F5ddS8xX.jLnLr.cn
http://cnFOtgUp.jLnLr.cn
http://mGz5zpsp.jLnLr.cn
http://8ekMZmpj.jLnLr.cn
http://vQUx7Knx.jLnLr.cn
http://uTILZBKA.jLnLr.cn
http://tBWsTzDy.jLnLr.cn
http://IqLVhgMt.jLnLr.cn
http://YEi117Q4.jLnLr.cn
http://j52tkpMN.jLnLr.cn
http://ZHlsyyhK.jLnLr.cn
http://GRJ4toit.jLnLr.cn
http://VEMnjeQu.jLnLr.cn
http://nq2MMDgu.jLnLr.cn
http://0L1GXVWm.jLnLr.cn
http://TxloYOsR.jLnLr.cn
http://3KdXH42R.jLnLr.cn
http://s9J9qJum.jLnLr.cn
http://bbGLvvuY.jLnLr.cn
http://Cu8no8Yu.jLnLr.cn
http://Q8VFYOi7.jLnLr.cn
http://ze2hqVjc.jLnLr.cn
http://www.dtcms.com/a/365896.html

相关文章:

  • Java学习笔记一(数据类型,运算符,流程控制)
  • HTML5圣诞网站源码
  • 自动化运维-ansible中对于大项目的管理
  • 《明朝那些事》读书笔记-王阳明:「知行合一」
  • FFMPEG H264
  • @Resource与@Autowired的区别
  • Parasoft C/C++test案例:基于CERT/CWE的代码合规自动化
  • 万家灯火背后的守护者:耐达讯自动化RS485转Profinet如何让石化生产“零隐患”
  • Java 的 Stream 流太难用了?——一名开发者的真实体验
  • Linux 的 swap 是什么
  • 1.0 机械加工基础-1-表面粗糙度、公差、几何公差
  • uni app 的app 端调用tts 进行文字转语音
  • LeetCode 392.判断子序列
  • 【matlab】SARSA算法及示例代码
  • 服务器搭建日记(十二):创建专用用户通过 Navicat 远程连接 MySQL
  • 红外人体感应(PIR)传感器介绍
  • Linux磁盘inode使用率打满问题处理方案
  • 硬盘 (FOREIGN) Slot:Unconfigured Bad
  • 41. 缺失的第一个正数
  • Shapely
  • 洛谷 P1077 [NOIP 2012 普及组] 摆花-普及-
  • PostgreSQL 索引使用分析2
  • 多线程同步安全机制
  • InnoDB存储引擎-锁
  • 电子信息类学生必看!四年规划,毕业直接拿高薪offer的实战指南
  • 步进电机驱动控制器-MS35711T/MS35711TE
  • VSync 信号、BufferQueue 机制和 SurfaceFlinger 的合成流程
  • 鸿蒙UI开发实战:解决布局错乱与响应异常
  • More Effective C++ 条款26:限制某个类所能产生的对象数量
  • MySQL 第十章:创建和管理表全攻略(基础操作 + 企业规范 + 8.0 新特性)