android activity动态显示不出来,uiautomatorviewer 获取不到动态页面解决办法
以前玩 PC 最近刚搞 app 测试,费好大劲环境装好,高兴的点击 uiautomatorviewer.bat 想去抓取页面元素,尴尬的是首页就直接报错。
Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn't exist! >
百度发现按照 Q 博士大神的提供的方法可以解决 ### @DoctorQ 博客地址.原理就是调用 UiDevice.dumpWindowHierarchy() 方法去获取 dumpxml。
现把完整解决全过程贴一下,方便像我一样这样小白复制粘贴。
1,建一个测试工程
工程结构如上图,代码极其简单,我这是顺便把页面截图也搞定了。
代码贴出,方便需要的朋友复制粘贴。
package com.lvmama.uidump;
import java.io.File;
import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;
public class DumpXml extends UiAutomatorTestCase {
public void testRun() throws Exception {
UiDevice uiDevice = getUiDevice();
File pic = new File("/data/local/tmp/uishot.png");
uiDevice.takeScreenshot(pic,1.0f,100);
uiDevice.dumpWindowHierarchy("uidump.xml");
}
}
这里说一下更改工程为 uitest-project 的方法
1,打开 Cmd,进入 SDK 的 tools 目录如我的 D:\android\android-sdk-windows\tools>
执行命令:android create uitest-project -n LvmamaXmlKit -t 1 -p D:\my_java\LvmamaXmlKit
执行完后工程即为 uitest-project 工程
2,打开 build.xml,把改成
---打开工程下面的 build.xml,改 default 的值改成"build"
3,run as Ant build
---工程下,右键点击 build.xml,run as Ant build
jar 即打包成功了。
2,执行 push 命令推送 jar 包到手机中
3,验证截图是否成功
打命令:adb shell uiautomator runtest LvmamaXmlKit.jar -c com.lvmama.uidump.DumpXml
去手机里看看截图是否生成。
完事后修改一下 uiautomatorviewer 源码,调用自己的 jar,截图抓 xml 很爽的!
android activity动态显示不出来,uiautomatorviewer 获取不到动态页面解决办法相关推荐
- Android小米(miui)获取通话记录为null解决办法
Android小米(miui)获取通话记录为null解决办法 在开发中发现,查询通话记录时使用 contentResolver.query( CallLog.Calls.CONTENT_URI, Co ...
- android mkdirs 不起作用,android设置铃声的时候f.mkdirs()创建不了?解决办法
当前位置:我的异常网» Android » android设置铃声的时候f.mkdirs()创建不了?解决办法 android设置铃声的时候f.mkdirs()创建不了?解决办法 www.myexce ...
- Android Studio 编译异常Could not execute build using Gradle installation解决办法
Android Studio 编译异常Could not execute build using Gradle installation解决办法 参考文章: (1)Android Studio 编译异 ...
- Android编译出现com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536错误解决办法
踩过的坑, 以下操作,必须在app module中进行. ========================================== ** Android编译出现com.android.de ...
- Android Studio运行手机框很大 屏幕很小的解决办法
关于Android Studio运行手机框很大 屏幕很小的解决办法 才开始接触移动软件开发,按照Android Studio安装教程相关博客安装过后,发生如图问题: 可以发现模拟器运行出来的结果是屏幕 ...
- HBase 高性能获取数据(多线程批量式解决办法) + MySQL和HBase性能测试比较
转载于:http://www.cnblogs.com/wgp13x/p/4245182.html 摘要: 在前篇博客里已经讲述了通过一个自定义 HBase Filter来获取数据的办法,在末尾指出 ...
- android readonly file system,安卓ROOT权限下“Read-only file sytem”解决办法
今天用安卓模拟器:BlueStacks,打开apk终端模拟器:Terminal,在shell操作命令的时候提示"Read-only file sytem": 第一种方法: 在 An ...
- 个推clientId老是获取不到几点解决办法
用第三方推送,好的一点是省事,不用自己研究推送原理,只要把自己的apk放到第三方平台注册下就好了:不好的一点是有时会发生丢包,毕竟是免费产品,有时出了问题,不知道原因,网上搜有时也搜不到.可能因各种环 ...
- Ajax跨域post请求后端无法获取登录态原因及解决办法
遇到个小坑,印象中不是第一次遇到了,记录一下:前后端分离时前端.后端不在同一个子域,跨域post请求后端无法获取登录态. 原因 后端通过cookie验证用户是否登录,跨域post不会自动携带上cook ...
最新文章
- 死而复生?RethinkDB宣布进入Linux基金会!
- NetBeans 时事通讯(刊号 # 5 - Apr 29, 2008)
- 95 后大学生利用漏洞免费吃肯德基获刑
- ML之回归预测:机器学习中的各种Regression回归算法、关键步骤配图
- 500只产品汪周末齐聚宇宙中心五道口,这里发生了什么?
- 学python要有多少英语词汇量测试_“扫地僧”!自学Python编程、英语词汇量15000……北大保安再上热搜...
- pycharm中一直跳出updating indices...indexing
- EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs'
- XCTF WEB simple_php
- 【总结】升级Xcode8遇到的问题及解决方案!!! [转]
- android卫星菜单中间,Android卫星菜单:android-satellite-menu
- mysql历史数据备份_Mysql存储过程历史表备份
- Android平台基于RTMP或RTSP的一对一音视频互动技术方案探讨
- 程序员必备技能之单元测试
- amazeui验证遇到的坑
- html文字段落加边框线,html边框样式 怎么用html给文字加边框的?
- 光纤节点 劫持检测,细数宽带运营商常见的几种http劫持行为
- 科创人·优锘科技COO孙岗:错误问题找不到正确答案,求索万物可视的大美未来
- Android项目:基于安卓Android平台手机商城系统app(计算机毕业设计)
- Jupyter Notebook基础(6)Jupyter Notebook命令行命令帮助
热门文章
- 【转载】架构师需要了解的Paxos原理、历程及实战
- UISwitch 添加 标签
- 设置TextField内文字距左边框的距离
- 关于ORA-01187: cannot read from file because it failed verification tests 的处理方法
- [linux]Ubuntu12.1下打开terminal的方式
- 运维老鸟教你安装centos6.5如何选择安装包
- MyEclipse2014破解
- arduino 停止程序_建立Arduino机器人,第五部分:障碍规避
- oracle schema_oracle数据库全局统计更新
- java jqgrid json格式_jqGrid 数据之 Json