今天,我们先说一下,获取Android自带的apk以及反编译它们来学习Android工程师是怎样写的,今天我们就以拿到Android自带的短信管理器的apk为例子

你可能有疑问,为什么要那么麻烦,从系统来拿,还要反编译,如果我们有网络的时候,当然可以直接去Android的源码那里下载啦(Android源码下载方法),但如果我们没有网络呢,那么我们就可以通过这样来研究Android自带的apk啦

首先,我们讲一下怎样获取那个apk,其实很简单的,作为一个Android的开发人员,肯定会用过模拟器的啦,我们获取apk就是通过模拟器来获取的

我们先打开一个模拟器。然后去到ddms里面去,我们就可以看到



有设置的apk啦,有打电话的apk啦,有照相的apk啦,所以大家如果没有网络的话,就可以在这里拿到系统的apk,然后反编译,就可以研究一下系统是怎样写的啦

系统自带的apk都在里面啦,那么我们的短信的apk在那里呢

短信的apk就是一个叫Mms的apk,大家可以找到它,然后把它导出来


接下来,我们还需要三个工具,分别是

apktool 它可以拿到apk里面的资源文件,我们要下载两个文件,分别是apktool1.5.2.tar还有apktool-install-windows-r05-ibot.tar

dex2jar 它可以把apk里面的dex文件转换成jar文件,下载地址

jd-gui 它可以把jar文件或class文件反编译成java文件,下载地址

好啦,我们把三个工具下载好



然后解压出来

然后呢,我们把apktool1.5.2里面的那个jar文件复制到apktool-install-windows-r05-ibot这个目录下面


然后呢把那个之前导出的短信的apk也拷贝到这个目录下面,然后在dos下面进入到这个目录,然后输入命令apktool d Mms.apk



我们就可以看到,这个目录有一个叫Mms的目录了,这个就是Mms.apk这个apk里面的资源啦

接下来,我们就要用winrar这些压缩软件来打开那个Mms.apk啦,其实apk的压缩方式和jar的压缩方式是一样的,和rar的压缩方式也是一样的


我们要把classes.dex这个文件拷贝出来,然后放到dex2jar这个目录下面,然后在dos下进入到这个目录,然后运行命令,dex2jar classes.dex


就这样,我们就拿到了一个jar文件啦,现在我们就 把那个jar文件拷贝出来,然后放到jd-gui这个目录下面

然后就双击那个jd-gui.exe


然后就File-->OpenFile

然后就打开刚刚那个jar就可以啦



就这样子,我们就可以看到源码啦,资源文件在apktool那里,把它也拿下来就可以的啦


今天源码下载


更多相关文章

  1. Android中对Log日志文件的分析
  2. 想抢先体验Android操作系统的魅力吗?那就使用Android(安卓)LiveCD
  3. 新手学习linux需了解的内容
  4. Android开发实践:在任意目录执行NDK编译
  5. Android(安卓)驱动之旅: 第一章 在Android(安卓)内核源代码工程中
  6. Android(安卓)Studio创建Android项目生成的文件详解
  7. 自动搜索私密信息与彻底删除APP--(一)清理
  8. Flutter 学习之打包 - 纯Flutter项目生成Android包
  9. NPM 和webpack 的基础使用

随机推荐

  1. Linux文件的特殊权限位SUID、SGID作用及
  2. 关于Android的selector背景选择器的配置
  3. Android和ios哪个前景更好
  4. Android内核开发:序
  5. 如何检索Android设备的唯一ID
  6. [Android算法] Android蓝牙开发浅谈
  7. Alibaba无线搜索事业部-产品经理(移动端产
  8. 深度探索Android应用程序的基本原理
  9. Android(安卓)手机十大必备软件
  10. android运行C程序以及C程序在android下的