APK文件反编译、签名整合工具包


这几天折腾手机APK文件的签名。一开始找到的软件和教程看得我云里雾里,有些教程里的跟帖都在抱怨,诸如:“走到第三步,怎么我就看不到什么什么文件之类的?”。结果,人家楼主就说了:这些教程专做美化的人,一看就懂,小白不太适合。

        高手毕竟是高手,说话口气都不同,于是只好自己慢慢摸索,花了点时间,总算给找齐了适合偶等小白的软件和教程,然后根据自己制作的过程,将教程条理分明的整理一下。

        工具包文件包括:            点击下载

       

一、工具包使用环境:JRE、JDK环境。
1、安装JDK及java环境搭建
JDK下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html

默认安装在C盘,如果在别的盘,下面的路径自行对应修改。


2,设置环境变量:JAVA_HOME、PATH、CLASSPATH

     JAVA_HOME:我的电脑->属性->高级->单击“环境变量”按钮->单击“系统变量”区域的“新建”按钮->在“变量名”文本框中输入JAVA_HOME,在“变量值”文本框中输入JDK的安装路径(默认安装的话,偶win7系统是 C:\Program Files\Java\jdk1.7.0),单击确定。
     【PS:】这一步很重要。当然,你可以自定义位置,但这里的路径也要相应改变。比如安装在  D:\Java\jdk1.7.0。

     PATH:在系统变量中查看PATH变量,如果存在PATH,则在最末尾多添加一个%JAVA_HOME%\bin;(直接添加,连;也加上,无需加空格之类的,以下相同)。如果不存在,则新建变量PATH,设定变量值为:%JAVA_HOME%\bin;

     CLASSPATH:在系统变量中查看CLASSPATH变量,如果存在CLASSPATH,则在最末尾添加%JAVA_HOME%lib\dt.jar;%JAVA_HOME%\lib\tools.jar;。如果不存在,则新建一个,设定变量值为:%JAVA_HOME%lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

3、完成以上步骤后,开始验证是否安装成功。运行CMD(开始,运行,输入cmd,回车),输入javac,回车,假如出现了下图中一堆如何使用java的帮助,那就是已经安装成功了。如果没有显示java的帮助那么就重新设置环境变量,把JAVA_HOME、PATH、CLASSPATH都删除掉,按2上的步骤重新建立即可。


 

二、工具包使用说明:
利用现有APKTool反编译软件和signapk签名软件进行了整合(包含apktool,dex2jar,apksign,JD),使APK格式的软件解包、打包和签名变的更方便和快捷,再也不用到目录里边去复制粘贴出来,或者拖拽和手动输入命令了!一切全部自动完成!

将工具包解压在任意目录下。
1、将需要修改(汉化、精简等)的APK文件复制到软件包的根目录中(注意:APK文件名不能是中文,也不能有空格)。

2、运行“1反编译为jar.bat”,此时可使用“4jd-gui.exe”从“解包的jar文件”文件夹中查看jar文件。

3、运行“2解包软件.bat”,这时,汉化的原始软件将自动放置到【原始软件备份】文件夹内里,解包后的资源自动放置在”汉化中的资源“文件夹里的同名文件夹内。

4、打开”汉化中的资源“文件夹里的同名文件夹,修改资源,不管是汉化也好,精简、去广告、添加图片、主题也好,但切记:添加的资源名称,都不能用中文名。
3、修改资源完成后,运行“3打包签名.bat”,会自动将汉化过的资源进行打包并进行签名,签完名的软件则自动放置在【已汉化签名的软件】文件夹内。
另外:
(1)、软件支持同时解包和打包签名多个软件;
(2)、当对同一个软件进行多次解包和打包签名时,解包资源将会存放根目录,不会覆盖或跳过;
(3)、保留手动打包、解包和签名功能(apktool.bat & sign.bat);
(4)、工具包里的lib文件夹是dex2jar的,不要删除,其他四个文件夹里边的东西在操作完成之后全部可以清空。

(5)、【原始软件备份】、【汉化中的资源】、【已汉化签名的软件】不存在时会自动建立。
(6)、特别注意:不要改动软件包内文件和文件夹名称,否则软件将无法正常工作!!!apktool 反编译之后重新编译的文件可能无法正常运行。如果你只是修改了语言文件,可以在重新编译以后,用压缩软件提取出 resources.arsc 文件,替换掉原软件中的同名文件。注意这个文件不要压缩(用 WinRAR 替换该文件的话,压缩方式选“存储”),否则可能有问题。也可以试试用原来的 apk 里面的 classes.dex 文件将新软件包里面的那个替换掉。这样一般可以运行。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1) APKtool软件包 及签名tool APKtool软件包有2个程序组成:apktool.jar 和 aapt.exe 另外提供一个批处理文件apktool.bat,其内容为: java -jar "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9 运行apktools.jar需要java环境(1.6.0版本以上)。 apktool.jar用于解包,apktool.jar和aapt.exe联合用于打包。 signapk.jar 用于签名。 2) APK文件的解包 下面以解开Contacts.apk为例。首先把Contacts.apk Copy到当前工作目录下(例:Test)。在DOS下打入命令 apktool d Contacts.apk ABC 这里“d”表示要解码。Contacts.apk是要解包的APK文件。ABC是子目录名。所有解包的文件都会放在这个子目录内。 3) APK文件的打包 在DOS下打入命令 apktool b ABC New-Contacts.apk 这里“b”表示要打包 ABC是子目录名,是解包时产生的子目录,用来存放所有解包后的和修改后的文件。 New-Contacts.apk是打包后产生的新的APK文件。 4) 签名,不签名安装时可能提示如下错误: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES] --- 没有签名,可以尝试test证书;签名方法见下面。 Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES] ---- 已存在签名,但使用证书不对,可以尝试使用其他证书签名签名方法:到目录android\build\target\product\security找到证书文件,这里可能会有几种证书,test/shared/platform/media,各种证书使用场景不同,可以自己google一下,因为签名很快而且可任意后续更改签名,可以自己尝试各种不同签名; 这个命令行是使用test证书的例子:java -jar signapk.jar testkey.x509.pem testkey.pk8 YOURAPK.apk YOURAPK_signed.apk YOURAPK_signed.apk就是签完名的apk,去测试一下您重新打包的apk吧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值