在Android的官方文档中提到:
Viewer在连接手機时手机上必须启动一个叫View Server的客户端与其进行socket通信。而在商业手机上是无法怎么开启RootView Server的,故Hierarchy Viewer是无法连接到普通的商业手机
Android源码实现這一限制的地方在:
检验一台手机是否怎么开启Root了View Server的办法为:
若是一台可以打开View Server的手机(Android开发版手机 、模拟器or 按照本帖步骤给系统打补丁的掱机),我们可以使用以下命令打开View Server:
前提是:你的手机已经获得ROOT权限且有BUSYBOX
另外:请仔细阅读本帖的评论,或许你会有新的收获
1.将商業手机通过USB连接PC,确保adb服务运行正常
在第十五步中将会用到这个txt中的内容
4.下载baksmali 和smali工具。这两个工具是用来反编译和编译odex文件的
假设我將这两个jar都下载到了ANDROID SDK根目录下。
想特别说明的是“-a”后跟的数字表示你系统的API Level(与你的系统版本有关)。系统版本和API Level的对照关系如下:
此步成功的话,在同文件夹下(对于我,就是ANDROID_SDK_ROOT)会有个out文件夹生成
这里顺便解释一下odex文件和dex文件。
odex文件:将dex文件依据具体机型而优化形成的optimized dex文件,提高软件运行速度减少软件运行时对RAM的占用。
smali文件:将dex文件变为可读易懂的代码形式反编译出文件的一般格式。
7. 现在运行smali重新編译:
参考步骤(仅供参考,请确保使用相适应于自己手机的正确方法请参考下面的"galfordq的blog"用户的回复):
这一步就是将第七部生成dex文件最終优化成了odex文件。
这一步运行后过一小会儿(1分钟以内)手机就自动重启了!稍等片刻吧!
用以下命令查看View Server是否打开:
Hierarchy Viewer:获得当前手机实时的UI信息方便用于手机的自动化测试;
uiautomator工具:获取界面控件信息;
adb命令:对手机进行操作;
2、判断手机是否怎么开启Root了view server,如果没怎么开启Root则怎么开启Root
說明:只有模拟器或者root手机才可以怎么开启Rootview service实际操作过程中发现root手机怎么开启Rootview service 并非命令可完成,故先行使用模拟器进行测试
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。