web-dev-qa-db-ja.com

SDKツールが25.3.1に更新された後、Android St​​udioのエミュレーターが起動しない

今日Android SDKツールを25.3.1に更新した後、エミュレーターは実行されなくなります。

AVD Managerを開くことができます。リストのエミュレーターの1つで「再生」を押すと、Android St​​udioに以下のバーが表示されます

enter image description here

しかし、プログレスバーが最後に達した後は何も起こりません。

リリースノート にあるように、最新の更新によってエミュレータに変更が加えられたので、それがバグなのか、それとも何かが足りないのではないかと思っています。

Android St​​udio 2.3を使用しています。

何か案は?

24
Mateus Gondim

アップグレード後に同じ問題に遭遇しました。構成の問題の原因はわかりませんが、回避策を見つけました。

まず、コマンドラインからエミュレータを起動しようとしました。

$ emulator @<name_avd_image>
emulator: ERROR: This AVD's configuration is missing a kernel file! Please ensure the file "kernel-ranchu" is in the same location as your system image.
emulator: ERROR: Android_SDK_ROOT is defined (<Android>/sdk) but cannot find kernel file in <Android>/sdk/system-images/ sub directories

-verboseフラグを指定してemulatorを実行すると、詳細情報を取得できます。システムイメージ(例:Android AP​​I 25 x86 w/Google API)、Android Emulator 25.3.1を再インストールし、AVDを再作成しましたが、何も機能しませんでした。

最後に、回避策として、すべてのシステムファイルをSDKシステムイメージディレクトリからAVDディレクトリにコピーしました。

例:Pixel XL(Android API 25 x86 w/Google API)
ソース:<Android>/sdk/system-images/Android-25/google_apis/x86 /
宛先:〜/ .Android/avd/Pixel_XL_API_25.avd /

その後、エミュレータがすぐに起動しました。それは理想的ではありませんが、これは私の開発を妨げていたので、エミュレータを立ち上げて実行する必要がありました。他の誰かが構成の何が壊れたのかを理解できることを願っています。


更新:構成の問題を見つけました!

「エミュレータが古いため、Android St​​udio:を起動して更新してください」というコンソールエラーが定期的に表示されていることに気づいたので、確認することにしました。

$ which emulator
<$Android_SDK_ROOT>/tools/emulator

これの助けを借りて thread

問題は、エミュレータが2つあることです。1つは$Android_SDK_ROOT/toolsに、もう1つは$Android_SDK_ROOT/emulatorにあります。 $Android_SDK_ROOT/toolsにあるものは開始できません。 $Android_SDK_ROOT/emulator変数の$Android_SDK_ROOT/toolsの前に$PATHを配置すると、問題が修正されます。

注:ほとんどのMacユーザーの場合、~/.bash_profileを編集してこれらの設定を変更し、$source ~/.bash_profileを実行して更新をロードできます。私の特定のケースでは、クリアする必要があった$ Android_HOMEの古い値もありました。

24
Funktional

実際の問題は、少なくともUbuntu 16.10および17.04とAndoid Studio 2.4 Preview 7(ただし、Debian派生製品および以前のバージョンのAndroid St​​udioで発生する可能性があります)では、Googleが機能しないlibstdc ++エミュレーターツールのライブラリ。 6.0.18バージョンを配布していますが、動作しているのは6.0.22であることがわかりました。

編集:libstdc ++の6.0.21バージョンが6.0.22と同様に動作するという報告があります。

したがって、2つのオプションがあります。

オプション1

rm /yoursdkpàth/ emulator/lib64/libstdc ++にある以前動作していないGoogleのライブラリ

/yoursdkpàth/ emulator/lib64/libstdc ++の libstdc ++公式パッケージ からライブラリをダウンロードして抽出します

.debをインストールしようとせず、その中からファイル/バイナリを抽出し(2つのバイナリは「lib」という名前のフォルダにあります)、推奨パスに手動でコピーします。

オプション2

すでに6.0.22バージョンであるUbuntuで配布されているlibへのsimlinkを作成します

cd ~/Android/Sdk/emulator/lib64/libstdc++/

mv libstdc++.so.6 libstdc++.so.6.bak

mv libstdc++.so.6.0.18 libstdc++.so.6.0.18.bak

ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ~/Android/Sdk/emulator/lib64/libstdc++/libstdc++.so.6

ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22 ~/Android/Sdk/emulator/lib64/libstdc++/libstdc++.so.6.0.22

重要1:Googleはこの問題を認識していないようで、Android St​​udioのAndroid Emulatorパッケージを更新するたびに、動作しているSDK C++ライブラリを壊れた/古いライブラリに置き換えて機能を破壊します。解決策は、上記の手順のいずれかを繰り返すことです。

重要2:これは、AVDがPC GPUをビデオアクセラレーションのホストとして使用するように設定されている場合にのみ有効です(ハードウェアGLES 2.0)。 AVDでSofware GLES 2.0を選択しても、提案された変更は一切機能しませんが、エミュレーターは非常に遅くなります。

20
Martin Revert

**​​ SDKツールにインストールされているAndroidエミュレータを確認しましたか

設定-> sdk-toolsに移動します。

Androidがインストールされているかどうかを確認します。

私は同じ問題に直面しています。 SDKツールを確認したときに、Androidエミュレーターがインストールされていないことがわかりました。

enter image description here

8
manmohan

libstdc++.so.6が原因です(@doruMarinauが指摘)。 Android St​​udio 2.3は、ファイルを新しいフォルダーyour_sdk/emulator/lib64に移動しました。

Linuxを使用している場合は、シンボリックリンクを作成します。

$ ln -sf /usr/lib/libstdc++.so.6  /your_sdk/emulator/lib64/libstdc++/libstdc++.so.6
6
icarus

解決策は次のとおりです。ツール-Android-SDKマネージャータブSDKツールはエミュレータ25.3.1をインストールします

3
iClaude

これは私のために働いた:

AVD Managerに移動し、[アクション]列で、夜明けを指す矢印をクリックして[データのワイプ]を選択します。この後、エミュレータを実行してみてください。

enter image description here

2
Bruno Fernandez

Sdk/emulator/lib64/libstdc++に移動してlibstdc++.so.6libstdc++.so.6.0.18をバックアップとしてmyfolder(これを作成しました)(または他の場所)に移動し、libstdc++.so.6libstdc++.so.6.0.21usr/lib64;仮想デバイスを再起動してください。

1
doruMarinau

LibGLエラーとlibstdc ++の問題です。エミュレータでAVDを起動できません。これは既知のバグであり、簡単な手順で簡単に解決できます。

このソリューションをUbuntu 16.10 64ビットでテストしました

解決策:

$adb kill-server
$adb start-server

この後、Androidスタジオからエミュレーターを起動します。これがうまくいかない場合は、次のソリューションに進みます。

代替ソリューション:

最初に、いくつかのパッケージとライブラリをインストールします。

$Sudo apt-get install lib64stdc++6:i386
$Sudo apt-get install mesa-utils

次に、いくつかのリンクを調整します。

$ cd YOURPATH/Android/Sdk/tools/lib64
$ mv libstdc++/ libstdc++.bak
$ ln -s /usr/lib64/libstdc++.so.6  libstdc++

3番目に、AVDデバイスを再起動してテストします。

1
Arvind M V

私のために働いた唯一の解決策は、次の不足しているライブラリをインストールすることでした:

$Sudo apt-get install lib64stdc++6:i386
$Sudo apt-get install mesa-utils

それらを入手したら、次のようにSDKのエミュレータにあるものを更新してください:

$ ln -sf /usr/lib/libstdc++.so.6  /home/[YOUR_SYSTEM_USERNAME]/emulator/lib64/libstdc++/libstdc++.so.6

エミュレータを再度起動すると、正常に機能します。

0
astuter

このリリースの時点で、AndroidエミュレーターはSDKツールとは別にリリースされます。 AndroidスタジオでSDKツールを使用してAndroidエミュレーターをインストールするだけです

0
alacoo

過去数日間、私を夢中にさせてきました。ここに私のために働いたものがあります:

「システム環境変数」のAndroid_HOME, Android_SDK_ROOT変数は、Android Studio -> Settings -> Android SDK Locationとは異なりました。環境変数を変更すると、AVDが起動しました!

(環境変数を変更した後、Android St​​udioを再起動する必要があります)

0
Zolbayar

私の問題はAndroid_SDK_HOMEではなくd:\.Androidを指しているd:\でした。画像がもう見つかりませんでした。

0
DSchmidt