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 获取不到动态页面解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA minaio模型_分布式系统之
- 下一篇: wget抓取网站, 模拟手机端抓取