在没有源代码的情况下,通过反编译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



更多相关文章

  1. Android(安卓)NetworkManager
  2. Android(安卓)GPS定位详解
  3. [AndroidTips]Android软件测试的日志文件抓取简介
  4. android 群发会话中获取联系人列表
  5. android中联系人 以及 ContactsContract类
  6. Android(安卓)-- 系统信息(内存、cpu、sd卡、电量、版本)获取
  7. Android小程序实现个人信息管理系统
  8. Android(安卓)Studio gradle配置实践
  9. Android的设备信息

随机推荐

  1. Android操作HTTP实现与服务器通信
  2. android中activity的四种加载模式
  3. 转:android listView 继承ListActivity的
  4. Android深入浅出之Zygote[1]
  5. Android(安卓)SDK安装Android4.0“冰激淋
  6. Android(安卓)快速开发框架:推荐10个框架
  7. Android中解析XML
  8. Android(安卓)中LayoutInflater(布局加载
  9. Android(安卓)DexClassLoader动态加载类
  10. Android(安卓)全景框架了解