前言
最近项目里要实现一个TimePicker,类似于这样的
我一看,瞬间想起了手机上的某APP,他上面就刚好有类似的效果
本来项目时间就有点赶,自己慢慢写这个控件时间上也有点来不及了,而且他又那么的像,于是,嘿嘿嘿…
正文
下载安装apktool,dex2jar以及jd-gui
这三个软件都是免费的,下载地址Google一下也能轻易的搜到,这里还是简单都是汇一下总。
apktool下载地址
dex2jar下载地址
jd-gui下载地址
dex2jar在sourceforge上面,建议代理开全局访问。
OK,下载好了之后就开始安装。
首先是apktool。运行apktool是需要Java环境的,不过我相信需要用到这个软件的人电脑里肯定是有JDK的,这个就不赘叙了。
- 在下载apktool压缩包的同一个文件夹里新建一个文本文件,写入
@echo off
if "%PATH_BASE%" == "" set PATH_BASE=%PATH%
set PATH=%CD%;%PATH_BASE%;
java -jar -Duser.language=en "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9
并将这个文件命名为apktool.bat。
2. 将刚刚下载的apktool的压缩包更名为apktool.jar(刚下载的时候名字里应该有版本号,干掉他)。
3. 成功。
dex2jar和jd-gui都是绿色版的,不需要安装,下载之后直接解压就好了。
使用apktool得到Android apk的资源文件
一般来说拿到一个apk文件之后想要得到自己想要的部分的代码一个很重要的突破口就是图片和xml文件,尤其是在你想要得到的部分是一个自定义控件的时候。因为图片和xml文件的名字是不会被混淆的,如果编写这个程序的人秉承了良好的代码规范的话,你就可以很容易的猜出你想要的界面使用的那些图片的名字,甚至猜出那个界面或者控件的xml文件的名字,继而找到控件的包名——幸运的是,包名也是不会被混淆的。继而就可以找到相应的Java文件——这是像我这样的小偷的幸运也是像我这样的开发者的悲哀。
ok,接下来该怎么用apktool得到apk的资源