一、反编译Apk得到Java源代码
首先要下载两个工具:dex2jarJD-GUI

前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。以下是下载地址:

dex2jarhttp://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip(2015-10-10更新--->http://sourceforge.net/projects/dex2jar/files/ (https://github.com/pxb1988/dex2jar))

JD-GUIhttp://jd.benow.ca/#jd-gui-download

具体步骤:

首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;

解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录

运行

dex2jar.bat    classes.dex

生成

classes.dex.dex2jar.jar

生成jar文件的截图如下:

 

运行JD-GUIjd-gui.exe),打开上面生成的jar包,即可看到源代码了


HelloAndroid
源码(编译前的apk源码对照)如下:

 

 

二、反编译apk生成程序的源代码和图片、XML配置、语言资源等文件

如果是只是汉化软件,这将特别有用。

首先还是下载工具,这次用到的是apktool

下载地址:http://code.google.com/p/android-apktool/downloads/list

下载:链接:http://pan.baidu.com/s/1o6EKAgy 密码:2rxq  (注:2015-10-13更新了下载链接)

具体步骤:

将下载的两个包解压到同一个文件夹下,总共会有三个文件:aapt.exeapktool.batapktool.jar

在命令行下定位到apktool.bat文件夹,输入以下命令:apktool.bat  d C:\*.apk C:\*文件夹,如下图:

 

命令行解释:apktool   d   [apk文件 ]   -o [输出文件夹]  (注:上面图片不加参数-o直接后面最近路径名现在已经不可用了,如果想不想麻烦直接输入  apk tool  d   test.apk 就可以了 ,会自动在当前文件夹创建test文件夹的)

反编译的文件如下(AndroidManifest.xml为例):

 

将反编译完的文件重新打包成apk,很简单,输入apktool b c:\***文件夹(你编译出来文件夹)即可,命令如下:

 

打包apk后的文件在目录C:\HelloAndroid下,生成了两个文件夹:

build

dist

其中,打包生成的HelloAndroid.apk,在上面的dist文件夹下,Ok

更多相关文章

  1. 改变ProgressBar默认颜色
  2. Android(安卓)反编译Apk得到Java源代码
  3. Android通过url下载文件到手机本地
  4. 烧板子流程
  5. Android语音声波控件 Android条形波控件
  6. Android代码混淆之ProGuard
  7. Android(安卓)Camera子系统之进程/文件View
  8. android中pull解析xml和生成xml
  9. android中使用SAX和DOM以及Pull对xml文件进行解析

随机推荐

  1. Android中的单元测试
  2. Android2.2 API 中文文档系列(3) —— Acce
  3. android 邮件开发(javax.mail)
  4. Android SDK Android NDK Android Studio
  5. Android(安卓)init.rc文件简单介绍
  6. Android 初级(待续)
  7. android 环境搭建
  8. android中ListView拖动时背景黑色的问题
  9. Android夜间模式实现
  10. Android随笔之布局属性简单用法