Android:APK签名
在没有源代码的情况下,通过反编译apk修改以后重新打包的apk,需要重新签名才能安装。
1. 将JDK路径添加到PATH环境变量中:C:\Program Files\Java\jdk1.6.0_33\bin
2. 创建keystore
keytool -genkey -v -keystore fetion.keystore -alias fetion_sign -keyalg RSA -keysize 2048 -validity 20000
说明:为了不改动签名信息,首先通过jarsigner得到了原始的签名信息关于组织机构等的信息,具体见下面介绍获取签名信息的方法。
输入keystore密码:再次输入新密码:
您的名字与姓氏是什么?
[Unknown]: 高雷
您的组织单位名称是什么?
[Unknown]: 北京新媒传信科技有限公司
您的组织名称是什么?
[Unknown]: 新媒传信
您所在的城市或区域名称是什么?
[Unknown]: 北京
您所在的州或省份名称是什么?
[Unknown]: 北京
该单位的两字母国家代码是什么
[Unknown]: cn
CN=高雷, OU=北京新媒传信科技有限公司, O=新媒传信, L=北京, ST=北京, C=cn 正确吗?
[否]: 是
正在为以下对象生成 2,048 位 RSA 密钥对和自签名证书 (SHA1withRSA)(有效期为 20,000 天):
CN=高雷, OU=北京新媒传信科技有限公司, O=新媒传信, L=北京, ST=北京, C=cn
输入<fetion_sign>的主密码
(如果和 keystore 密码相同,按回车):
[正在存储 fetion.keystore]
3. 给apk签名:
首先将原apk更名为rar文件,找到META-INF目录,将里面的文件全部删除。重命名为apk
jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore fetion.keystore fetion.apk fetion_sign
验证是否签名完成:
jarsigner -verify fetion.apk
jar 已验证。
如果需要知道更详细的信息:
jarsigner -verify -verbose -certs fetion.apk > sign.txt
以上仅供技术研究分析用途。
参考文档:
http://developer.android.com/tools/publishing/app-signing.html
更多相关文章
- Android(安卓)NetworkManager
- Android(安卓)GPS定位详解
- [AndroidTips]Android软件测试的日志文件抓取简介
- android 群发会话中获取联系人列表
- android中联系人 以及 ContactsContract类
- Android(安卓)-- 系统信息(内存、cpu、sd卡、电量、版本)获取
- Android小程序实现个人信息管理系统
- Android(安卓)Studio gradle配置实践
- Android的设备信息