重新签名apk文件(手工用命令行)

本文提供了一种详细的APK重签名方法,包括去除原有签名、使用新的密钥库进行签名及对齐步骤,并介绍了如何通过日志和工具获取包名及主活动名。

文章出处:http://blog.youkuaiyun.com/yafeng_0306/article/details/9368125

re-sign.jar中后自动去除签名这个方法,经试验不可用!

1.去除准备重新签名SinaVoice.apk软件本身的签名

将apk文件后缀改为.zip,然后从winrar中删除META-INF文件夹,删除后重新将文件名改成apk的后缀

2.开始-运行-cmd

cd到android-sdk下的platform-tools文件运行

输入:jarsigner -digestalg SHA1 -sigalg MD5withRSA -keystore D:\tools\robotium\debug.keystore -storepass android -keypass androidD:\tools\robotium\SinaVoice.apk androiddebugkey  按回车

备注:D:\tools\robotium\debug.keystore  这个是自己debug.key的位置

            D:\tools\robotium\SinaVoice.apk    这个是我准备签名的apk

3. 再cd到android-sdk的tools文件下运行

输入:zipalign 4 D:\tools\robotium\SinaVoice.apk D:\tools\robotium\SinaVoice_debug.apk 

最后:D:\tools\robotium\SinaVoice_debug.apk就是我们自动化测试用的apk文件


重前面的应用,在运行时没有崩溃闪退就说明重签名成功。

最后说明一下,重签名后要获取mainactivity 和 packagename,在dos窗口中输入adb logcat  *:I >> 11111.txt,将信息输出到指定的目录并过滤剩下有I开头的输出信息,然后在11111.txt找到相关信息

例如:I/ActivityManager (  274 ):start proc com.xiaomi.channel for activity com.xiaomi.channel.ui.ChannelLauncherActivity:pid = 1599  uid = 10014   gid = {1024,3344,2182}

mainActiviy = "com.xiaomi.channel.ui.ChannelLauncherActivity";

packageName = "com.xiaomi.channel";


private static String mainActiviy = "com.xiaomi.channel.ui.ChannelLauncherActivity";private static StringpackageName= "com.xiaomi.channel"

主要是要修改androidmainfest.xml 中的android targetpackage = "com.xiaomi.channel";


第二种获取mainactivity 和 packagename的方法,就是使用jdk\bin里面的apt工具来获取

命令:aapt d badging  C:\11111.apk(apk的位置)

package : name = 'com.xiaomi.channel'

launchable-actibity : name = 'com.xiaomi.channel.ui.ChannelLauncherActivity'


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值