apk提交给应用市场加固后,需要重新签名

签名工具:360签名

下载地址:http://yunpan.cn/cm8GqVWL7Y8Eh

签名步骤:http://jiagu.360.cn/qcms/help.html#!id=84

命令行签名步骤:

利用标准的java工具keytool.exe(位于jdk\jre\bin目录下)创建key,利用jarsigner.exe工具使用生成的key来生成证书和给程序签名(位于jdk\bin目录下)。
Win +R 运行cmd,进入目录D:\temp(注:使用该目录为示例工作目录)
1)、创建可以,运行如下命令

keytool -genkey -alias demo.keystore -keyalg RSA -validity 20000 -keystore demo.keystore
/*说明:keytool工具是Java JDK自带的证书工具
-genkey参数表示:要生成一个证书(版权、身份识别的安全证书)
-alias参数表示:证书有别名,-alias demo.keystore表示证书别名为:demo
-keyalg RSA表示加密类型,RSA表示需要加密,以防止别人盗取
-validity 20000表示有效时间20000天( K3
-keystore demo.keystore表示要生成的证书名称为demo
*/

2)、删除之前的签名文件
方法一:用解压缩工具解压缩apk文件(如:解压到D:\temp\Demo;找到下面的目录META-INF,删除目录META-INF。将整个Demo文件夹用zip工具,重新打包成zip压缩包,然后更改后缀为apk (注意:产生的Demo.zip中没有二级根目录)
方法二:用解压缩工具直接打开apk(注:不要解压),直接删除目录META-INF。
压缩包内容解析:
META-INF目录:存放签名后的CERT和MANIFEST文件,用于识别软件的签名及版权。
Rres目录:存放各种Android原始资源,包括:动画anim、图片drawable、布局layout、menu菜单、xml等等
AndroidManifest.xml编码后的Android项目描述文件,包括了Android项目的名称、版本、权限、程序组件描述等等
aclasses.dex编译后Class被dx程序转换成Dalvik虚拟机的可执行字节码文件
qresources.arsc所有文本资源的编译产物,里面包含了各Location对应的字符串资源。

3)、使用生成的key对apk签名,运行如下命令:

jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:jarsigner是Java的签名工具
-verbose参数表示:显示出签名详细信息
-keystore表示:使用当前目录中的demo.keystore签名证书文件。
-signedjar demor_signed.apk demo.apk demo.keystore 正式签名,三个参数中依次为签名后产生的文件demo_signed,要签名的文件demo.apk和密钥库demo.keystore.
*/
(注:查看某个apk是否经过了签名方法,jarsigner –verify demo.apk。优化:签名后需要做对齐优化处理zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk )

最新文章

  1. JS中原型链继承
  2. java面试题个人总结
  3. Rails中的content_tag与concat用法,可以连接任意html元素
  4. angular $emit发送 后退时$on多次接收
  5. linux安装软件
  6. AJAX JSON类型返回
  7. java 网络编程复习(转)
  8. 【Web】写个HTML页面去调试HTTP接口方便些
  9. 算法导论学习-prim算法
  10. QML插件扩展(一)
  11. jquery中is()函数
  12. [详细实例]MicroPython拼插编程实战:DIY一台会思考的壁障车
  13. [luogu5004]专心OI - 跳房子【矩阵加速+动态规划】
  14. Linux常用系统命令
  15. svn eclipse链接
  16. 复习回顾(String,StringBuffer,Arrays方法总结)
  17. PTA——模拟除法
  18. es高级部分
  19. 【Django】ORM操作MySQL数据库遇到的一些问题
  20. Mac下IDE无法读取环境变量问题

热门文章

  1. MongoDB 分片管理(不定时更新)
  2. Java for LeetCode 230 Kth Smallest Element in a BST
  3. 数组里的数据绑定到dataset中
  4. shell 脚本编程概述
  5. IT笔试题
  6. mybatis参数错误 Parameter '×××' not found. Available parameters are [0, 1, param1, param2]
  7. 【linux】学习4
  8. Sql Server 保留几位小数的两种做法
  9. C#资源文件管理
  10. 清除Windows系统桌面快捷方式小箭头