エミュレーターとデバイスによって報告される ID が異なるという問題が発生しています。私はそれらに異なるAndroidバージョンを持っています。
ダンプはエミュレーターとデバイスのペーストビンダンプ出力に表示され、スクリーンショットは エミュレーター http://imagebin.org/271953 http://imagebin.org/271953および デバイス http://imagebin.org/271954 http:// imagebin.org/271954
エミュレータには Android 4.2.2 API 17 があり、デバイスには Android 4.2.1 があることに注意してください。私はどちらも API 17 であると感じていますが、それらは同じと見なされるべきです。Android SDK Manager で 4.2.1 プラットフォームを見つけられませんでした。
また、ダンプするための -F オプションは、開発者以外のデバイス (ルート化されていない) では機能しません。開発デバイスでテストする方法はありますか?
cyanogenmod ルート化デバイスでダンプ -ViF を実行すると、以下の結果が得られました。私も使用して確認しました
(eval $(adb shell getprop | dos2unix | egrep '\[ro\.secure]|\[ro\.debuggable]' | sed 's/\./_/g; s/]: /=/g; s/[][]//g'); [[ 1 == $ro_secure && 0 == $ro_debuggable ]] && echo "System is secure: AVC won't work" || echo "System is not secure: AVC will work")
システムは安全ではありません: AVC は機能します
mitenm@mitendebian:~$ ダンプ -ViF
Connecting to a device with serialno=.* with a timeout of 60 secs...
Connected to device with serialno=.*
Actual device serialno=0009cdf44f784f
Traceback (most recent call last):
File "//home/mitenm/testing/AndroidViewClient-master/AndroidViewClient/tools/dump", line 134, in <module>
vc = ViewClient(*ViewClient.connectToDeviceOrExit(**kwargs1), **kwargs2)
File "/home/mitenm/testing/AndroidViewClient-
master/AndroidViewClient/src/com/dtmilano/android/viewclient.py", line 1219, in __init__
'tcp:%d' % self.remotePort])
File "/usr/local/lib/python2.7/subprocess.py", line 537, in check_call
retcode = call(*popenargs, **kwargs)
File "/usr/local/lib/python2.7/subprocess.py", line 524, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/local/lib/python2.7/subprocess.py", line 711, in __init__
errread, errwrite)
File "/usr/local/lib/python2.7/subprocess.py", line 1308, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
ANDROID_VIEW_CLIENT_HOME 環境変数が設定されています。
-F オプションを試していたので、テストプログラムで使用できる R.id を取得できました。その例を教えてください。-F はエミュレーターでのみうまく機能するようですので、R.id ではなく no_id を使用することをお勧めします。
また、(アクティビティではなく) Android サービスをテストしたい場合でも、 androidviewclient を使用できますか? もしそうなら、例へのリンクを提供してください。
monkeyrunner のように、スクリーン キャプチャとファイルへの書き込みを行うこともできますか?
よろしく、
みてん。