今日Android SDKツールを25.3.1に更新した後、エミュレーターは実行されなくなります。
AVD Managerを開くことができます。リストのエミュレーターの1つで「再生」を押すと、Android Studioに以下のバーが表示されます
しかし、プログレスバーが最後に達した後は何も起こりません。
リリースノート にあるように、最新の更新によってエミュレータに変更が加えられたので、それがバグなのか、それとも何かが足りないのではないかと思っています。
Android Studio 2.3を使用しています。
何か案は?
アップグレード後に同じ問題に遭遇しました。構成の問題の原因はわかりませんが、回避策を見つけました。
まず、コマンドラインからエミュレータを起動しようとしました。
$ 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 API 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 Studio:を起動して更新してください」というコンソールエラーが定期的に表示されていることに気づいたので、確認することにしました。
$ 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の古い値もありました。
実際の問題は、少なくともUbuntu 16.10および17.04とAndoid Studio 2.4 Preview 7(ただし、Debian派生製品および以前のバージョンのAndroid Studioで発生する可能性があります)では、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 StudioのAndroid Emulatorパッケージを更新するたびに、動作しているSDK C++ライブラリを壊れた/古いライブラリに置き換えて機能を破壊します。解決策は、上記の手順のいずれかを繰り返すことです。
重要2:これは、AVDがPC GPUをビデオアクセラレーションのホストとして使用するように設定されている場合にのみ有効です(ハードウェアGLES 2.0)。 AVDでSofware GLES 2.0を選択しても、提案された変更は一切機能しませんが、エミュレーターは非常に遅くなります。
** SDKツールにインストールされているAndroidエミュレータを確認しましたか?
設定-> sdk-toolsに移動します。
Androidがインストールされているかどうかを確認します。
私は同じ問題に直面しています。 SDKツールを確認したときに、Androidエミュレーターがインストールされていないことがわかりました。
libstdc++.so.6
が原因です(@doruMarinauが指摘)。 Android Studio 2.3は、ファイルを新しいフォルダーyour_sdk/emulator/lib64
に移動しました。
Linuxを使用している場合は、シンボリックリンクを作成します。
$ ln -sf /usr/lib/libstdc++.so.6 /your_sdk/emulator/lib64/libstdc++/libstdc++.so.6
解決策は次のとおりです。ツール-Android-SDKマネージャータブSDKツールはエミュレータ25.3.1をインストールします
Sdk/emulator/lib64/libstdc++
に移動してlibstdc++.so.6
とlibstdc++.so.6.0.18
をバックアップとしてmyfolder(これを作成しました)(または他の場所)に移動し、libstdc++.so.6
、libstdc++.so.6.0.21
をusr/lib64
;仮想デバイスを再起動してください。
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デバイスを再起動してテストします。
私のために働いた唯一の解決策は、次の不足しているライブラリをインストールすることでした:
$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
エミュレータを再度起動すると、正常に機能します。
このリリースの時点で、AndroidエミュレーターはSDKツールとは別にリリースされます。 AndroidスタジオでSDKツールを使用してAndroidエミュレーターをインストールするだけです
過去数日間、私を夢中にさせてきました。ここに私のために働いたものがあります:
「システム環境変数」のAndroid_HOME, Android_SDK_ROOT
変数は、Android Studio -> Settings -> Android SDK Location
とは異なりました。環境変数を変更すると、AVDが起動しました!
(環境変数を変更した後、Android Studioを再起動する必要があります)
私の問題はAndroid_SDK_HOME
ではなくd:\.Android
を指しているd:\
でした。画像がもう見つかりませんでした。