3

Android デバイスのスクリーンショットをヘッドレス モードで撮りたい、つまり次のように作成します。

echo no | /opt/android/android-sdk-linux/tools/android create avd \ 
         -n test01 -t android-17 -f -p some/dir -c 128 --abi x86

そして、私はそれを次のように開始します

/opt/android/android-sdk-linux/tools/emulator -avd test01 -no-skin \
-no-audio -no-window -memory 256 -nocache -no-snapshot-save -no-snapstorage

私はこのような画面を取っています:

adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png

ただし、そのスクリーンショットは次のようになります。

撮ったスクリーンショットが醜い

2 つの質問:

1) どうすれば「家に帰ろう」というウェルカムクラップスを取り除くことができますか? 私はヘッドレスモードなので、その「OK」ボタンはまったくクリックできません。

2) エミュレータを起動する画面サイズを指定するにはどうすればよいですか? どういうわけか変形しているようで、その方法と理由はわかりません。起動パラメータの構成が悪いに違いない。

私にとってより重要なのは最初の質問です.2番目の質問は、そのエミュレーターの実行時にコマンドラインのいくつかのスイッチを介して調整できます。

本当にありがとうございました

アップデート

アプリケーションの実行後にスクリーンショットを撮ろうとしましたが、実際には何もしないテストアプリケーションを使用しています。そのアプリケーションのスクリーンショットを撮っているので論理的ですが、画面の寸法は変更されていません。次のようになります。

変形適用サイズ

これらのスクリーンショットをヘッドレス モードで撮影するだけで問題なく、アプリケーションが変形することもありません。その方法はねえ...

4

4 に答える 4

2

If anyone is still hitting this issue, using '-no-window' but not '-no-skin' makes the screenshot dimensions look nicer.

于 2014-11-14T23:41:53.087 に答える
1

これは、適切な画面解像度を取得するために機能しました。「echo qemu.sf.lcd_density=120 >> /system/build.prop」

ルート権限が必要です!!!

于 2015-09-11T07:12:13.760 に答える
0

あなたが言ったように#1に関して、後で独自のアプリを自動的にインストールして起動すると、アクティビティのライフサイクルは想定どおりに動作し、最初のアクティビティは消えます。

また、adb kill コマンドがあったとしても、Android の通常の動作に干渉するだけであり、テスト環境とアプリケーションが実行される環境を区別するだけです (目的にはまったく役立ちません)。 .

問題 2 については、微調整を行わずに、アプリケーションの起動後にスクリーンショットを撮ってみてください。そもそも、この特別なオーバーレイ画面が表示を台無しにしていたのではないかと感じています。

于 2013-07-19T20:03:45.450 に答える
0

create avd コマンドで -s "1080x1920" を指定すると、この問題が解決されました。私が使用している完全なコマンド:

echo "no" | android create avd --force --device "Nexus 5" --name test --target android-22 --abi google_apis/armeabi-v7a -s "1080x1920" --sdcard 512M
于 2016-11-25T15:57:38.773 に答える