如何反编译android的apk文件得到资源文件

来源:互联网 发布:播音软件 编辑:程序博客网 时间:2024/05/18 03:58

情形:自己想要某apk的资源,看看它是如何实现的。使用apkdec和Android逆向助手等反编译软件。

发现获取不了资源包的内容,也就是res的内容。不知道是不是他们的版本过低的原因。

于是使用下面的方法来获取apk中res资源包的内容。尝试了一下,成功的获取了。

如下:


首先下载apktool工具(apktool-install-windows-r04-brut1.tar.bz2apktool1.4.1.tar.bz2):

官方下载地址:http://code.google.com/p/android-apktool/

得到如下文件:

 

下载完成后,解压apktool-install-windows到任意文件夹,例如,解压到F:\apktool目录下:

然后解压apktool到任意文件夹,解压完成后会得到一个apktool.jar文件,如下图:

最后把apktool.jar文件解压到apktool-install-windows同目录下:

解压完成后apktool.jar文件不能删除,之后还会用到。

然后我们把我们要反编译的apk文件(MyPolygon.apk)拷贝到apktool目录下:

打开一个命令行窗口,进入apktool目录下,输入如下命令:

这样在F盘的mypolygon就得到了我们想要的资源文件。mypolygon文件夹应该是不存在的文件夹,此命令会自动生成mypolygon文件夹;如果是已有文件夹,命令行会提示你添加-f 参数强制覆盖该文件夹。通过以上命令我们得到如下文件:



//------------------------------------自己------------------------------

apktool-install-windows-r04-brut1.tar.bz2

apktool_2.0.0rc3.jar


如果是jre1.6,则报错。

错误:Unsupported major.minor version 51.0(jdk版本错误)

分类: 其他 67852人阅读 评论(7) 收藏 举报
jdkcompilerexceptionjavathread服务器

java.lang.UnsupportedClassVersionError: org/apache/nutch/crawl/Crawl3 : Unsupported major.minor version 51.0
 at java.lang.ClassLoader.defineClass1(Native Method)
 at java.lang.ClassLoader.defineClassCond(Unknown Source)
 at java.lang.ClassLoader.defineClass(Unknown Source)
 at java.security.SecureClassLoader.defineClass(Unknown Source)
 at java.net.URLClassLoader.defineClass(Unknown Source)
 at java.net.URLClassLoader.access$000(Unknown Source)
 at java.net.URLClassLoader$1.run(Unknown Source)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
Exception in thread "main"

如果在win7下开发项目是使用的jdk版本和项目运行服务器jdk版本不同就会出现上面的问题。

解决方法:因为很多linux系统还不支持jdk1.7,所以要尽量避免使用jdk1.7开发程序,我将win7下的jdk重装为jdk1.6,然后将项目的java compiler改为jdk1.6,对项目进行重新编译问题就解决了。

修改项目java compiler的方法:在项目点右键->选择Perperties->在出现的菜单中选择Java Compiler->最上面选中Enable project Specific setting->然后将jdk改为jdk1.6->完成。


//---------------------------

(1)自己本机上安装的是jre1.6,直接下载jre1.7安装,无需卸载jre1.6。

(2)将JAVA_HOME改为jre1.7的安装目录即可。

(3)然后找楼上的方法,进行发编译就可以得到资源了。


0 0
原创粉丝点击