请问apktool怎么使用?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问apktool怎么使用?相关的知识,希望对你有一定的参考价值。
APKTool是GOOGLE提供的APK编译工具,需要JAVA运行环境,推荐使用JDK1.6或者JDK1.7。如果你想对APK文件进行修改,那么就不可避免的要使用到APKTool。论坛里有很多关于ROM美化的帖子都需要自己动手修改APK文件,比如修改framework-res.apk、systemUI.apk等等。
相信各位有不少人看了后都想亲自来修改一番,但是结果却是遇到了各式各样的错误却无法进行改正,甚至都不知道自己错在哪里。
一.APKTOOL使用环境配置
1.安装JAVA并设置环境变量。
下载安装都很简单,关键是安装完后还需要亲自设置环境变量以方便其他程序能够条用JAVA。
以WIN7为例,在桌面上右键点击计算机——>属性——>高级系统设置——>环境变量——>在下边的系统变量里新建一个变量,变量名为JAVA_HOME,值为JAVA的安装路径,比如我的是H:\\ProgramFiles\\Java\\jdk1.6.0_26
二.APKTool的安装
1.其实这个谈不上安装,不过如果你愿意的话可以把下载到的APKTOOL中的三个文件(aapt.exe、apktool.bat、apktool.jar)解压缩到你的Windows安装目录下,以方便使用Dos命令.
2.可能有些人下载的APKTOOL里有个安装的bat文件,并且有另外两个方便使用的bat文件,在这里我不推荐大家使用这些bat文件,虽然使用起来很方便(其实我并不觉得方便),但是如果出现错误不方便查看。
三.APKTool的使用
1.decode
该命令用于进行反编译apk文件,一般用法为
apktool d <file.apk> <dir>
<file.apk>代表了要反编译的apk文件的路径,最好写绝对路径,比如C:\\MusicPlayer.apk
<dir>代表了反编译后的文件的存储位置,比如C:\\MusicPlayer
如果你给定的<dir>已经存在,那么输入完该命令后会提示你,并且无法执行,需要你重新修改命令加入-f指令
apktool d –f <file.apk> <dir>
这样就会强行覆盖已经存在的文件
2.build
该命令用于编译修改好的文件,一般用法为
apktool b <dir>
这里的<dir>就是刚才你反编译时输入的<dir>(如C:\\MusicPlayer),输入这行命令后,如果一切正常,你会发现C:\\MusicPlayer内多了2个文件夹build和dist,其中分别存储着编译过程中逐个编译的文件以及最终打包的apk文件。
3.install-framework
该命令用于为APKTool安装特定的framework-res.apk文件,以方便进行反编译一些与ROM相互依赖的APK文件。具体情况请看常见问题
四.常见问题
1.关于安装和管理framework文件
以下大部分其实是翻译自http://code.google.com/p/android-apktool/wiki/FrameworkFiles
一般来说,你在使用apktool进行反编译前不需要做其他的事情,然而由于有的厂商,如HTC,三星等,他们定制了framework文件并且在他们的系统应用中使用了这些文件,这时,为了能正常的反编译这些apk文件,你就必须从你的设备中拷贝出framework文件并且安装到apktool中。
举一个例子,比如你想反编译HTCHero这款手机中的HtcContacts.apk,当你尝试反编译的时候,你会得到以下错误信息。
$ apktool d HtcContacts.apk
I: Loading resource table...
I: Decoding resources...
I: Loading resource table from file: /home/brutall/apktool/framework/1.apk
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x02020542
...
W: Could not decode attr value, using undecoded value instead: ns=android, name=icon, value=0x02020520
Can\'t find framework resources for package of id: 2. You must install proper framework files, see project website for more info.
复制代码
这就是在通知你必须追问
我是问手机上的。(难道这个和手机上的道理一样?)
追答差不多,apktool可以在安卓手机上反编译回编译,安卓apk软件而不需要借助电脑。
追问那怎么更改软件名和导入新文件
追答看这个帖子http://tieba.baidu.com/p/2386617874
追问看不懂
参考技术A 把aapt.exe apktool.bat apktool.jar这三个文件放到C盘根目录下,,然后打开CMD,输入CD,敲回车,然后输入cd\windows 敲回车,,你就可以进行反编译了 当然,前提是你已经设置好了JAVA环境变量请问Python中的image.save命令怎么使用?会有啥效果
参考技术A 首先image是什么,如果他是个类生成的对象,就展示类的save方法或者save特征 参考技术B PIL.Image.save(filename,format)(保存指定格式的图像)eg: im.save("save.gif","GIF") #保存图像为gif格式
以上是关于请问apktool怎么使用?的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向ApkTool 工具使用 ( ApkTool 简介 | ApkTool 解包和打包 )
Android 逆向ApkTool 工具使用 ( ApkTool 简介 | ApkTool 解包和打包 )