genymotion模拟器
之前只用过夜神、逍遥等安卓模拟器,调试的时候并不是很方便,而且那些模拟器也偏日常使用吧。这次尝试了genymotion模拟器,在官网找到了个人使用免费版,使用过程中虽然也有小问题出现,但是整体体验很好。启动迅速,比较流畅,支持的型号也比较全面。
安装
首先去官网注册账号
https://www.genymotion.com/account/login
下载链接
https://www.genymotion.com/get-full-version/
选择带有virtuBox的版本即可,如果原本安装过virtualBox的话要注意版本兼容问题。下载后正常安装即可。
使用
打开genymotion管理器,登陆账号
ADB设置成本地的AndroidSDK路径
点击Add选择添加需要用到的镜像ova
这里我选了个
实测下载的时候不需要科学上网也不慢,如果很慢的话可以自行百度方法。
点击扳手设置模拟器参数,完成后双击即可启动模拟器,很快。
几个小问题
- 启动后黑屏:网上多数人说对AMD显卡驱动比较敏感,我的话在NOVIDIA里设置程序默认使用独显即可。
- 模拟器无法联网:默认是NAT方式
如果无法联网可以关闭模拟器,选个Bridge保存再选成NAT保存,一般就可以了。如果还不行,可参考https://blog.csdn.net/fesdgasdgasdg/article/details/53907065
xposed环境配置
模拟器自带了superuser权限管理。直接安装最新版3.1.5版本的XposedInstaller(最初尝试了3.1.1版本,但是log日志里报错了,需要更新到最新版本),然后安装框架重启即可。若框架失败,可以去官网下载安卓版本对应的框架。下载后直接拖进模拟器刷入即可。
xposed模块编写
(步骤不分前后,应该影响不大)
- 下载Xposed api(也要注意版本对应),比如我这里使用的是api-82.jar,在app目录下创建目录lib(名字无所谓),将jar包放入。注意不是原本就存在的libs目录,网上很多说法,有的放入libs也可以正常使用,但是大部分会出错,我这里测试是报错的,所以自己新建了目录。
- 修改app下的build.gradle
修改依赖方式compile files修改为providedfiles,原因是Xposed里已有该jar包内容,再次打包进去会冲突。不修改就会导致handleLoadPackage没有回调。后面会学习handleLoadPackage这个函数方法。
- 修改AndroidManifest.xml,添加三个部份
- 本例测试的是使用xposed模块修改TextView内容,所以在activity_main.xml里放一个TextView,在MainActivity里设置文本信息
很简单的例子,安装到模拟器后打开,显示原来的内容
- 新建一个类XposedTest实现XposedHookLoadPackage,关于IXposedHookLoadPackage等接口后面会学习记录。思路很简单,Xposed hook onCreate方法。在该方法执行完后获取TextView的实例。通过setText方法设置文本
- 在main目录下新建assets目录,创建文件xposed_init,内容是xposed入口
然后去勾选模块重启机器即可生效
参考来源
https://www.cnblogs.com/rainboy2010/p/6387770.html
https://github.com/WrBug/XposedDemo