采用命令行重新签名apk

重新签名apk,其实也有最简单的方法,即下载一个重新签名的工具re-sign.jar,将apk拖进此工具的窗口就生成了重新签名的apk了。下面我就来讲讲复杂的重新签名的方式:采用命令行方法。
一、配置环境,需安装jdk,sdk
二、在已成功安装jdk的目录中找到jarsigner.exe文件,本机的目录如下:C:\Program Files\Java\jdk1.8.0_20\bin
三、去除准备重新签名的apk本身的签名(fantongyo.apk)
将apk以Winrar方式打开,删除META-INF文件夹即可,并将此Apk文件拷贝至C:\Program Files\Java\jdk1.8.0_20\bin目录中
Apk压缩包内容解析:
1.META-INF目录:存放签名后的CERT和MANIFEST文件,用于识别软件的签名及版本信息
2.rest目录:存放各种Android原始资源,包括:动画anim、图片drawable、布局layout、菜单、xml等等
3.AndroidManifest.xml编码后的Android项目描述文件,包括了Android项目的名称、版限、程序组件描述等等
4.Classes.dex编译后Class被dx程序转换成Dalvik虚拟机的可执行字节码文件
5.Resources.arsc所有文本资源的编译产物,里面包含了各Location对应的字符串资源
四、重新签名Apk文件

Android常用的命令

1.adb devices:查看当前已连接的设备。
2.adb shell:进入android的shell模式。
3.echo 3>/proc/sys/vm/drop_caches:清除一下系统的cache。
4.exit:退出adb shell
5.adb install xxx.apk:将xxx.apk安装到手机上。如果是在模拟器上操作,须保证模拟器之前已开启。
adb install [-r] [-s] <file>  :安装名称为file的APK包到模拟器。其中r表示重新安装该APK包,s表示将APK包安装到sd卡上,默认是安装到手机内存中。
6.adb push d:\myfile.txt /sdcard/: 将电脑上d盘的myfile.txt传到模拟器上sdcard的根目录
7.adb pull /sdcard/file.txt d:\  :将模拟器sdcard根目录下的file.txt文件传到电脑d盘的根目录
8.rm sdcard/myfile.txt:删除模拟器sdcard根目录下的file.txt文件
9.ls data/app: 该命令用于shell环境中,当进入shell模式后,该命令用于查询手机内已安装的所有应用程序名。如果是在模拟器上操作,须保证模拟器之前已开启。
10.ls data/data: 该命令也用于shell环境中,当进入shell模式后,该命令用于查询手机内所有已安装程序的包名(package name),一般是域名形式的名称,如com.andorid.xxx这种。如果是在模拟器上操作,须保证模拟器之前已开启。