九、Apk文件破解
9.1获取apk的资源图片
直接用 WinRAR打开,res/drawable直接拖拽出来即可。
9.2获取xml文件信息
虽然能用WinRAR看到里面的xml文件,但是xml是经过优化的,无法直接查看,需要使用apktool工具,下载地址。
下载apktool-1.3.1.tar.bz2和apktool-install-windows-2.2_r01-2.tar.bz2解压到同一个目录,然后把待破解的apk文件拷贝到同一目录,DOS进入该目录,输入:aapt d 91callinfo.apk 91callinfo,这里第四个参数为破解完存放的路径。
9.3反编译dex获取Java源代码
Apktool工具只能反编译成smali的中间代码文件,这里需要借助另外一个开源工具:dex2jar,下载地址。这个工具不能直接翻译成Java文件,但是可以把dex文件转换成jar文件,然后可以通过jad工具把jar文件反编译成Java源文件,如果只是看看源码的话可以用jd-gui,下载地址 。
dex文件(classes.dex)可以用WinRAR从apk文件中解压出来。
十、小技巧
10.1 使用系统的图标
例如调用系统打电话的图标:
http://since2006.com/android/1.5-drawables.php
http://since2006.com/android/1.6-drawables.php
10.2 让控件透明,如ImageButton
设置android:background="@null"
10.3 在layout中直接指定onclick方法
不用手动绑定,在layout中设置
android:onClick=”methodName”
methodName为对应Activity中的方法,如下格式:(适应1.6以上版本)
public void OnClickMethodName(View view){}
10.4 用PC键盘控制模拟器
▲
10.5 进入界面就显示/隐藏软键盘
在AndroidManifest.xml中设置activity的
android:windowSoftInputMode="stateHidden"
10.6 界面可视化布局工具
系统提供可视化布局并不好用,这里推荐一款,布局完后点生成代码即可:
10.7 在Eclipse中看Android的源码
将源代码拷贝至android-sdk-windows\platforms\android-4\sources下即可。注意源码版本对应android-4文件夹,这里指Android1.6的源码。
十一、疑难解答
Q:11.1 用模拟器调试频繁连不上,或者报emulator-5554 disconnected的错误?
A:Window(窗口) -> Show Views(显示视图) -> device -> view menu(视图菜单)-> Reset adb
Q:11.2 匿名类中如何使用this?
A:classname(类名).this
Q:11.3 程序出错后模拟器上仅显示应用程序遇到问题将关闭怎么办?
A:可以从LogCat中检查错误,默认LogCat在DDMS视图中,可以通过以下方法调整到Java视图与控制台并列显示:点击Eclipse左下角 ,点开后在其他里面找到Android目录下的LogCat拖拽出来即可。