原生方式开发的app,使用Java和C++开发,加密用的是Java和C++
H5的app,使用Webview控件加载网页,加密用的是JS
app自动化测试,需要知道控件的id,或者说需要定位到控件
1. 使用uiautomatorviewer.bat查看
Android SDK根目录\tools\bin 下 有uiautomatorviewer.bat 双击打开
此时会弹出这个dos黑框窗口,和控件窗口。点击箭头所指按钮,会生成截屏。
鼠标移动到左边的截图区域 ,即可看到对应元素的信息,类似浏览器的elemens页面
使用Appium查看
a) 下载https://github.com/appium/app...
b)安装
默认安装即可
打开后界面如下,并打开Edit Configurations 进行配置设置。
c) Appium的配置
安装Java SDK 建议将SDK的根目录加入到自定义 系统环境变量 ANDROID_HOME 。
配置android SDK
d) Appium的启动
配置好后再启动页面,点击Start Server.
点击搜索按钮
在新的窗口中点击编辑配置。 尽管只是配置了手机中设置栏目,但其实操作手机后,可以截屏任意一个app,进行分析。并不需要针对每个app每次都设置。
配置好后点击 Start Session .效果等同于SDK自带的。
- 禁止截屏
在activity中输入如下,可用于禁止截屏。
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
此时, 使用uiautomatorviewer.bat 会提示如下,用appnium 无法截屏。
用这个是用于清除禁止截屏命令的。在禁止截屏生效才再调用,因此,需要把握好时机。最好的办法是hook。
activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。