昨日、Debianテストシステム用のAndroid Studioをダウンロードしました。 HelloWorldアプリケーション(空のアクティビティ)を実行したいが実行できません。 adbを使用すると、問題なくインストールできます。
ただし、Android Studioを使用してこれを実行しようとすると、「APKのインストール」で停止します。エミュレータで実行しようとすると同じことが起こります(「ターゲットデバイスがオンラインになるのを待っています」で停止します)。
私のデバイスは、LineageOS(Android 7.1.2)がインストールされたSamsung Galaxy S3で、ルーティングされています。 Android Studioは自分の携帯電話を正しく認識します。
私がしたこと:
- openjdkを使用したインストール
- Oracle jdkをインストールしました。
- android_home設定
- SDKツールからAndroid 4.3以降、すべてのSDKプラットフォームとAndroidエミュレータをインストールしました。
- SDKツールのすべてをインストールしました。
- USBデバッグを有効にする
- MTPとPTPを試しました。
- 別のシミュレートされた電話を試してみました。
- lib32stdc++6 インストール済み
- コンピュータを再起動しました。
- 新しい空のアクティビティが作成されました。
- すべてを再インストールしました:JDK、Android SDK、Android Studio
- さらにあるかもしれません
エラーは発生しません。
今日、グラフィックをソフトウェアに設定してエミュレータを実行しましたが、黒い画面のみが表示され、起動しません。
これまでこれを試しましたが、解決策が見つかりませんでした。他のシステムでは、このようなことを経験したことはありません。
私はこれのためにWindowsをインストールしたくないので、Debianで実行したいと思います。しばらく前に、LMDE2で実行できたことを覚えています。それでは、なぜ今はDebianテストで動作しませんか?私は何かを忘れましたか?
よろしくお願いします。
編集する:これで、携帯電話を使用してUSB 3.0の代わりにUSB 2.0を介してAndroidアプリを実行することができます!ネイティブadbで使用されるので、これは通常の動作ですか?私は、数年以内にUSB 3.0ポートしかない新しいコンピュータを購入すると、モバイルデバッグにAndroid Studioを使用できなくなりますか、それとも問題ですか? 2014年以降も依然として知られている(https://stackoverflow.com/a/9548311/8292104)。
ただし、ADV でアプリケーションを実行することはできません。グラフィックをソフトウェアに変更しましたが、携帯電話が表示されますが、画面が黒くなり、携帯電話が起動しません。問題を解決するにはどうすればよいですか?
答え1
私の設定は、Android studio 2.3.3がインストールされているDebianテストとまったく同じです。エミュレータの携帯電話が表示されるには、ソフトウェアグラフィックに設定する必要があるという事実を見つけるのに時間がかかりました。
Hello Worldアプリがエミュレータに表示されず、エミュレータが空白として表示される問題が引き続き発生します。私はAPIを26に設定しました。 API 26はAndroid O用で、まだリリースされていません。
解決策としてAPI 23を試しました。
API 23(Android 6 marshmallowなど)を使用してhello worldの例を試してみると、hello worldの例が正しく機能します。スタジオで実行ボタンをクリックし、API 23に設定されているデバイスをクリックすると機能します。プログラムを開始する前にデバイスを設定する必要があります。
エミュレータを実行すると、「android」という単語が最初に画面に表示されます。これは動作中であることを意味します。
hello world 例のないテストで Nexus 6P などの携帯電話を設定し、API バージョンを 23 に設定します。次に、このコマンドを実行して、Androidの単語が起動して表示されることを確認します。 ~/Android/Sdk/Emulators/Emulator-avd Nexus_6P_API_23-use-system-libs
編集する:Nvidiaプライオリティドライバを使用するように切り替えたので、すべての携帯電話でAPI 26を搭載したエミュレータを使用できるようになりました。私はnouveauドライバを使用していますが、エミュレータのディスプレイを殺すデュアルフリーを生成します。エミュレータの起動時に発生するエラーを確認するには、上記のコマンドライン例を試してください。