有对手机ADB命令比较了解的么!
adb exec-out /system/bin/uiautomator dump /dev/tty这个应该会回显,在其他手机都正常,但是在OPPO手机显示UI hierchary dumped to: /dev/tty
这尼玛是个什么情况,在shell里面输出,回显又是正常的!
adb shell /system/bin/uiautomator dump /dev/pts/0会回显到已打开的SHELL里面,也不懂是个什么原理! adb shell uiautomator dump && adb pull /sdcard/window_dump.xml && start window_dump.xml
比较麻烦的办法就是这个了!还要把转储文件传到windows,再打开感觉蛮麻烦的! 本帖最后由 heavenm 于 2020-2-13 23:16 编辑
_androidConsole('adb exec-out /system/bin/uiautomator dump /dev/tty')
Func _androidConsole($__command, $__drives = Null, $__timeout = 9)
Local $__beginTime = TimerInit()
Local $__binary = True
Local $__consolePid, $__consoleStdout
ConsoleWrite(StringFormat('%s ][ %s\n', '_androidConsole', $__command))
If $__drives <> Null Then;如果指定了设备,则加上-s参数
$__drives = StringFormat('-s %s ', $__commandName, $__drives)
$__command = StringRegExpReplace($__command, '^(\w+) ', '\1' & $__drives)
EndIf
;~ If StringRegExp($__command, 'screencap') Then $__binary = True;如果是图片文件,用二进制
;~ If StringRegExp($__command, 'uiautomator') Then $__binary = True ;二进制输出
$__consolePid = Run(@ComSpec & " /c " & $__command, @ScriptDir, @SW_HIDE, 8)
Do
Sleep(300)
If TimerDiff($__beginTime) > $__timeout * 1000 Then Exit;命令超时退出
Until Not ProcessExists($__consolePid)
;~ ProcessWaitClose($__consolePid, $__timeout)
;~ If @error Then MsgBox(0, '', '超时!!!')
$__consoleStdout = StdoutRead($__consolePid, False, $__binary)
If Not StringRegExp($__command, 'screencap') Then $__consoleStdout = BinaryToString($__consoleStdout, 4)
;~ If StringRegExp($__consoleStdout, 'unknown') Then Return -1;华为或者android9 dumpsys window policy会输出unknown
ConsoleWrite(StringFormat('%s ][ %s ][ %s\n', '_androidConsole', TimerDiff($__beginTime), $__command))
Return $__consoleStdout
EndFunc ;==>_androidConsole 坐等楼主放出答案 不太懂 是要看APP的布局么 android studio 自带的 monitor 可以看。 haijie1223 发表于 2020-2-14 09:29
坐等楼主放出答案
= =#无情,,,,, zch11230 发表于 2020-2-14 12:30
不太懂 是要看APP的布局么 android studio 自带的 monitor 可以看。
就是uiautomator 这个东西查看的!
android studio 就是这个东西
页:
[1]