以前玩 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 获取不到动态页面解决办法相关推荐

  1. Android小米(miui)获取通话记录为null解决办法

    Android小米(miui)获取通话记录为null解决办法 在开发中发现,查询通话记录时使用 contentResolver.query( CallLog.Calls.CONTENT_URI, Co ...

  2. android mkdirs 不起作用,android设置铃声的时候f.mkdirs()创建不了?解决办法

    当前位置:我的异常网» Android » android设置铃声的时候f.mkdirs()创建不了?解决办法 android设置铃声的时候f.mkdirs()创建不了?解决办法 www.myexce ...

  3. Android Studio 编译异常Could not execute build using Gradle installation解决办法

    Android Studio 编译异常Could not execute build using Gradle installation解决办法 参考文章: (1)Android Studio 编译异 ...

  4. Android编译出现com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536错误解决办法

    踩过的坑, 以下操作,必须在app module中进行. ========================================== ** Android编译出现com.android.de ...

  5. Android Studio运行手机框很大 屏幕很小的解决办法

    关于Android Studio运行手机框很大 屏幕很小的解决办法 才开始接触移动软件开发,按照Android Studio安装教程相关博客安装过后,发生如图问题: 可以发现模拟器运行出来的结果是屏幕 ...

  6. HBase 高性能获取数据(多线程批量式解决办法) + MySQL和HBase性能测试比较

    转载于:http://www.cnblogs.com/wgp13x/p/4245182.html 摘要:   在前篇博客里已经讲述了通过一个自定义 HBase Filter来获取数据的办法,在末尾指出 ...

  7. android readonly file system,安卓ROOT权限下“Read-only file sytem”解决办法

    今天用安卓模拟器:BlueStacks,打开apk终端模拟器:Terminal,在shell操作命令的时候提示"Read-only file sytem": 第一种方法: 在 An ...

  8. 个推clientId老是获取不到几点解决办法

    用第三方推送,好的一点是省事,不用自己研究推送原理,只要把自己的apk放到第三方平台注册下就好了:不好的一点是有时会发生丢包,毕竟是免费产品,有时出了问题,不知道原因,网上搜有时也搜不到.可能因各种环 ...

  9. Ajax跨域post请求后端无法获取登录态原因及解决办法

    遇到个小坑,印象中不是第一次遇到了,记录一下:前后端分离时前端.后端不在同一个子域,跨域post请求后端无法获取登录态. 原因 后端通过cookie验证用户是否登录,跨域post不会自动携带上cook ...

最新文章

  1. 死而复生?RethinkDB宣布进入Linux基金会!
  2. NetBeans 时事通讯(刊号 # 5 - Apr 29, 2008)
  3. 95 后大学生利用漏洞免费吃肯德基获刑
  4. ML之回归预测:机器学习中的各种Regression回归算法、关键步骤配图
  5. 500只产品汪周末齐聚宇宙中心五道口,这里发生了什么?
  6. 学python要有多少英语词汇量测试_“扫地僧”!自学Python编程、英语词汇量15000……北大保安再上热搜...
  7. pycharm中一直跳出updating indices...indexing
  8. EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs'
  9. XCTF WEB simple_php
  10. 【总结】升级Xcode8遇到的问题及解决方案!!! [转]
  11. android卫星菜单中间,Android卫星菜单:android-satellite-menu
  12. mysql历史数据备份_Mysql存储过程历史表备份
  13. Android平台基于RTMP或RTSP的一对一音视频互动技术方案探讨
  14. 程序员必备技能之单元测试
  15. amazeui验证遇到的坑
  16. html文字段落加边框线,html边框样式 怎么用html给文字加边框的?
  17. 光纤节点 劫持检测,细数宽带运营商常见的几种http劫持行为
  18. 科创人·优锘科技COO孙岗:错误问题找不到正确答案,求索万物可视的大美未来
  19. Android项目:基于安卓Android平台手机商城系统app(计算机毕业设计)
  20. Jupyter Notebook基础(6)Jupyter Notebook命令行命令帮助

热门文章

  1. 【转载】架构师需要了解的Paxos原理、历程及实战
  2. UISwitch 添加 标签
  3. 设置TextField内文字距左边框的距离
  4. 关于ORA-01187: cannot read from file because it failed verification tests 的处理方法
  5. [linux]Ubuntu12.1下打开terminal的方式
  6. 运维老鸟教你安装centos6.5如何选择安装包
  7. MyEclipse2014破解
  8. arduino 停止程序_建立Arduino机器人,第五部分:障碍规避
  9. oracle schema_oracle数据库全局统计更新
  10. java jqgrid json格式_jqGrid 数据之 Json