Android Apk 反编译,Apk 批改以后再编译打包,签名

Android Apk 反编译,Apk 修改以后再编译打包,签名一:Android反编译工具:Apktool? Android apktool是一个用

Android Apk 反编译,Apk 修改以后再编译打包,签名

一:Android反编译工具:Apktool?

Android apktool是一个用来处理APK文件的工具,可以对APK进行反编译生成程序的源代码和图片、XML配置、语言资源等文件,也可以添加新的功能到APK文件中。用该工具来汉化Android软件然后重新打包发布是相当简单的。

?

1、安装

?

1).首先安装需要JAVA环境,先下载JDK/JRE,请下载,已经有JAVA环境的可跳过此步

2).到code.google上下载apktool.jar以及相关文件:http://code.google.com/p/android-apktool/downloads/list
点击下载apktool-1.0.0.tar.bz2 和apktool-install-windows-2.1_r01-1.zip

3).解压apktool-install-windows.zip到任意文件夹,然后解压apktool.jar 到apktool-install-windows.zip所在的文件夹下。

?

?

?

4).点击开始菜单,运行,输入CMD回车,用cd命令转到刚刚解压apktool-install-windows所在的文件夹,输入apktool,出现一些命令说明即成功安装。

?

C:\android\android-apktool\apktool-install-windows-r04-brut1>apktool.bat
Apktool v1.4.1 - a tool for reengineering Android apk files
Copyright 2010 Ryszard Wi?niewski <brut.alll@gmail.com>
Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)

Usage: apktool [-v|--verbose]COMMAND [...] ? -- 熟悉dos命令的很容易可以看懂


COMMANDs are:

??? d[ecode] [OPTS] <file.apk> [<dir>]
??????? Decode <file.apk> to <dir>.

??????? OPTS:

??????? -s, --no-src
??????????? Do not decode sources.
??????? -r, --no-res
??????????? Do not decode resources.
??????? -d, --debug
??????????? Decode in debug mode. Check project page for more info.
??????? -f, --force
??????????? Force delete destination directory.
??????? -t <tag>, --frame-tag <tag>
??????????? Try to use framework files tagged by <tag>.
??????? --keep-broken-res
??????????? Use if there was an error and some resources were dropped, e.g.:
??????????? "Invalid config flags detected. Dropping resources", but you
??????????? want to decode them anyway, even with errors. You will have to
??????????? fix them manually before building.
??? b[uild] [OPTS] [<app_path>] [<out_file>]
??????? Build an apk from already decoded application located in <app_path>.

??????? It will automatically detect, whether files was changed and perform
??????? needed steps only.

??????? If you omit <app_path> then current directory will be used.
??????? If you omit <out_file> then <app_path>/dist/<name_of_original.apk> -- 这个需要注意,生成新的apk所在的目录
??????? will be used.

??????? OPTS:

??????? -f, --force-all
??????????? Skip changes detection and build all files.
??????? -d, --debug
??????????? Build in debug mode. Check project page for more info.

??? if|install-framework <framework.apk> [<tag>]
??????? Install framework file to your system.

For additional info, see: http://code.google.com/p/android-apktool/

?

2、使用

?

apktool d? XXX.apk ABC??? 反编译XXX.apk到文件夹ABC

?

apktool b? ABC?????????????? 从文件夹ABC重建APK,输出到ABC/dist/out.apk

例子:
C:\android\android-apktool\apktool-install-windows-r04-brut1>apktool d C:\android\参考\simple.apk SIMPLE
I: Baksmaling...
testI: Loading resource table...
I: Loaded.
I: Loading resource table from file: C:\Documents and Settings\Administrator\apk
tool\framework\1.apk
I: Loaded.
I: Decoding file-resources...
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...

C:\android\android-apktool\apktool-install-windows-r04-brut1>apktool b SIMPLE
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...

?

3、apk-sign签名apk文件:

?

1)下载文件件附件apk-sign.rar,解压到任意文件夹A;

2)将XXX.apk文件解压到XXX文件夹,然后将XXX文件夹复制到A文件夹中,并且直接拖到apk-sign文件中的sign_pack.bat批处理文件上以执行,弹出cmd执行窗口,等待执行完即可;

3)生成新文件夹XXX_signed中的apk文件即为已签名;

4)在apk-sign文件夹中会多出一个文件夹,里面就是签名过的Apk

?

?