(1)开发一个简单的项目,发布的时候为一个APK文件,如果我们不使用签名的方式,直接在bin目录下找到*.apk文件,很方便,但是我们的使用者在使用的时候,有可能会被其他的程序覆盖安装;具体解释如下:
(2)我们新建一个项目Test目录结构如下,并把它发布到模拟器上,得到我们的打包文件Test.apk
(3)然后我们在看模拟器中的文件目录信息,我们在安装的应用,都会在安卓机器上的data----data---具体的安装文件夹,例如我的是:com.example.test
这里的com.example.test是在,项目目录下的AndroidManifest.xml文件中,因此我们可以修改他的文件名称
(4)到这里,如果遇到相同的安装目录名,就有可能覆盖我们的应用程序,造成恶意的破坏!
(5)那我们就需要使用签名的方式,打包我们的软件,步骤很简单,点击项目右键---Android-Tools---Export Android Application--然后后边的就不在介绍!按照自己需求进行即可!
(6)在上一步中,我们已经生成了一个签名的apk文件Test.apk然后我们使用解压软件,解压,
上图既是解压后的目录,各种配置文件都在,就是缺少我们的源文件和R类等
(7)其中classes.dex文件,就是我们项目中src目录下源码的编译,二resources.arsc既是我们R类中的编译文件
(8)现在我们开始反编译,查看其中的源文件和R类
(9)准备工具dex2jar和JD-GUI这两个工具网上很多,搜索下载即可(http://yunpan.cn/cfpRvDD8QJcKi 提取码 c156)
(10)开始:将classes.dex文件拷贝到我们的工具dex2jar文件目录下:
(11)然后在上图中的地址栏中将地址删除然后敲入cmd回车(这样的话我们可以直接定位到该目录下!非常好使)或者自己手工找到该目录下!
(12)然后执行dex2jar.bat 后边加上刚才拷贝的要反编译的文件calsses.dex
(13)然后就会在dex2jar工具下生成一个jar文件(到这里这个jar还只是class文件需要使用下一个工具才可以)
(14)然后将生成的class_dex2jar.jar文件拖入到第二个工具JD-GUI中,就可以看到了
(15)另外我们还可以点击file--save all sources生成源代码的文件,这个就不上图了,源代码有了剩下的是杀是刮随你便
(16)到此为止,已经完成对软件的反编译,这样的话我们可以轻松愉快的阅读别人的源代码了!
/*********************************************************************更新内容:反编译xml文件**************************************************/
下载工具: http://pan.baidu.com/s/1bnErJSr提取码 wt8c
下载后解压然后将apk文件复制到这里、比如我这是lashow.apk
在地址栏中输入cmd,回车--命令apktool-v2.0.RC2.jar d lashow.apk
注意:可能很多朋友们反编译的时候会出错:意思就是找不到文件等,这个时候需要更新一下apktool的版本了!
然后结束的时候,就会看到有一个新的文件夹 ,在里边就可以找到你想要的了