
正文
apk内置java代码 java代码生成apk
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
[转载]新手必学:如何解包apk得到里面的源代码!
准备的工具除了jdk还有以下内容(在Google官网都有):把apktool-install-windows-2.1_r01-1.zip,dex2jar-0.0.7-SNAPSHOT.zip
解压到一个盘的根目录下(这里我选择H盘),同时把
AXMLPrinter2.jar,apktool.jar
和你想解包的apk软件也放在同一个目录下,然后“运行--cmd”打开控制台,输入
cd /d h : /进入H盘的根目录然后输入以下内容(
控制台不要关,为了后面方便):其中apktool.jar
是解包工具,d表示解包,
memo.apk是我要解包的软件,
memo表示解包后输出到这个文件夹,等待片刻,就会生成memo文件夹,打开里面会有res文件夹下的所有文件和
AndroidManifest.xml
,用记事本就可以查看了。
以上是获得.xml文件和图片,下面获得里面的.java源代码:用winRar或者好压打开memo.apk
,截图如下:把里面的classes.dex文件解压到H盘根目录下,然后重新打开控制台,输入
dex2jar.bat classes.dex
得到一个名为
classes.dex.dex2jar.jar
的文件,此时用jd-gui.exe打开classes.dex.dex2jar.jar
就可以看到所有源代码了!
如果想把反编译好的文件变回apk文件,只要在控制台输入
apktool.jar b memo就可以了其中b就是重新封包的意思,
memo是你刚才解包出来的文件夹,前提是确保所有文件都在memo文件夹里!!
相关问答
Q1: 如何查看安卓apk程序的源代码?
将apk文件拷贝至sdcard上。
命令顺序如下:
进入Android sdk文件夹/tools目录下
输入adb shell
输入su
输入cd data
输入cd app
这时就可以看到你安装的所有的apk文件。输入cp 空格 对应的apk 空格 /sdcard/
这样就将apk文件拷贝出来了。
将apk文件后缀直接变成rar格式,可以看到熟悉的目录结构了,
其中xml文件打开后都是二进制的,无法查看。
这时就用到了一个android4me的AXMLPrinter2工具。(请自行百度搜索)
输入以下命令,将xml文件解析出来
java -jar AXMLPrinter2.jar showtimes_list.xml
此命令是在命令行中查看此showtimes_list.xml
将showtimes_list.xml生成xml文件,则输入以下命令:
java -jar AXMLPrinter2.jar showtimes_list.xml h.xml
目前进行到这一步,只能看到xml文件的内容,其工程中的java源文件还是看不到,看目录结构下有一个classes.dex文件,我们需要将dex文件变为jar文件。
这里用到了另一个工具dex2jar。(自行搜索下载)
在Windows下解压之后的目录如下图所示:
在命令行中,进入到此目录下:
在Windows下,输入以下命令:
dex2jar.bat c:\classes.dex
运行完之后,在C盘会多一个classes.dex.dex2jar.jar文件,此文件就是我们需要的jar文件。
利用jd-gui,将jar文件反向工程为java代码。(请自行搜索下载)
它分为Windows、Linux、和max三个版本,这里我下载的是Windows版本的。
解压之后,双击运行exe文件,选择classes.dex.dex2jar.jar文件,相应的jar文件中的Java文件就被反向工程显示出来了!
Q2: apk和Java有什么区别?
这两者没有可比性。
APK是AndroidPackage的缩写,即Android安装包(apk),如果不好理解,就类似电脑上安装的可执行(exe)文件,比如游戏安装文件。
Java是一种开发工具,是开发语言,APK中部分功能就是通过java代码实现。
Q3: APK反编译,修改了.java源码,现在怎么编译回去?
这样做是行不通apk内置java代码的。反编译一般是不能完全得到源Java代码apk内置java代码的apk内置java代码,得到的代码甚至会有语法错误,除非是简单的那些代码。要改的话就得改.class文件,但这个非常困难,要在16进制下改。或者改smali文件,这个比改.class文件要稍微简单一点,不用在16进制下修改,可直接改代码,但也是需要一定的smali语法知识的。
Q4: 如何把apk反编译成java代码
一、找到apk中的class.dex:
把apk文件改名为.zip,然后解压缩其中的class.dex文件,它就是java文件编译再通过dx工具打包成的。
1、把class.dex拷贝到dex2jar.bat所在目录,直接拖动class.dex到dex2jar.bat,生成classes.dex.dex2jar.jar。
或者:1.在cmd下进入dex2jar.bat所在路径,然后输入“dex2jar.bat XXX”,XXX指的是你要反编译的apk中的classes.dex文件所在路径及名称,比如:我的dex2jar.bat在D:\Android\apk_decode\dex2jar-0.0.7-SNAPSHOT路径下, classes.dex在D:\Android下,所以: 你进入dex2jar.bat路径下后,输入dex2jar.bat D:\Android\classes.dex,这样会生成一个jar文件。
2.用rar解压出jar文件中的class文件,然后用jad或DJ Java Decompiler反编译工具将.class文件反编译成.java文件
3、运行JD-GUI工具,打开上面的jar文件,在File下有个Save JAR Source,它可以生成src源代码。
Q5: 如何反编译Apk得到Java源代码
先使用dex2jar工具将classes.dex转为jar,再使用jd-gui打开该jar查看java源代码。
关于apk内置java代码和java代码生成apk的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







