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

文章出处:http://blog.csdn.net/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'


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值