我们通过 athrun 自带 ViewUtils 中获取当前 ui 所有 views 再根据这些 views 截出控件的图片
代码如下:
for (int a = 0;a < ViewUtils.getAllViews(true).size(); a++) {
/************抓取ID**********/
try {
takeScreenShot(ViewUtils.getAllViews(true).get(a),
"/sdcard/wa/", ViewUtils.getAllViews(true).get(a)
.getId());
TimeUnit.SECONDS.sleep(3);
} catch (NullPointerException e) {
System.out.println("----------");
}
但是发现现在有部分 apk 的 ui 更新不在主线程,是在子线程中更新,导致我们程序抓取 id 时报 Only the original thread that created a view hierarchy can touch its views. 找了个 android 开发问了下,可能是大部分 ui 是在主线程更新,有一些图片可能是在子线程里更新
请教下各位大神有什么解决方法么?或者说换种什么更好方法来抓取 ui 中控件的好方法?