2016-10-16 7 views
5

をロードすることができない、私はこのエラーになっています:Androidのエミュレータ - Ubuntuで実行しているドライバ

Cannot launch AVD in emulator. 
Output: 
libGL error: unable to load driver: i965_dri.so 
libGL error: driver pointer missing 
libGL error: failed to load driver: i965 
libGL error: unable to load driver: swrast_dri.so 
libGL error: failed to load driver: swrast 
X Error of failed request: GLXBadContext 
    Major opcode of failed request: 155 (GLX) 
    Minor opcode of failed request: 6 (X_GLXIsDirect) 
    Serial number of failed request: 55 
    Current serial number in output stream: 54 

プラットフォームのツールを最新のものです。

エミュレータイメージはhttps://dl.google.com/android/repository/sys-img/google_apis/x86_64-24_r08.zipを使用し、それがAndroidのN.に

アップデート(2016年12月2日):私は、GPUベースのレンダリングを無効にした場合

Cannot launch AVD in emulator. 
Output: 
failed to create drawable 
getGLES2ExtensionString: Could not create GLES 2.x Pbuffer! 
Failed to obtain GLES 2.x extensions string! 
Could not initialize emulated framebuffer 
emulator: Listening for console connections on port: 5554 
emulator: Serial number of this emulator (for ADB): emulator-5554 
emulator: ERROR: Could not initialize OpenglES emulation, use '-gpu off' to disable it. 
emulator: WARNING: ./android/metrics/metrics_reporter.cpp:142: Failed to get a writable, unused path for metrics. Tried: /home/me/.android/avd/metrics/metrics.17386.yogibear 

:セバスチャンのソリューション@は、もはや動作しますが、提供しますソフトウェアベースのGLグラフィックスに切り替えると、このランタイムエラーが発生します。

Firebase API initialization failure. 
       DeadSystemException: The system died; earlier logs will point to the root cause 
FATAL EXCEPTION: main 
        Process: com.whatever.mobile, PID: 4501 
        DeadSystemException: The system died; earlier logs will point to the root cause 
+0

Are yo 'ベアメタル'ボックス(すなわち、バーチャルではない)? Intel VGAドライバ(カーネルモジュール)を再構築/再インストールしようとしましたか? Yakketyはほんの数日前にリリースされました(2016年10月16日現在)、ちょっと待たなければならないかもしれません – agg3l

+0

はい、ベアメタル。私は他のすべてのアプリがうまく動作するので、カーネルモジュールを混乱させませんでした。 – Gabor

+0

カーネルモジュールを再構築しようとします(i965とスワップはインテルVGA「ドライバ」を指していますが、AE間違いかもしれません)。 カーネルモジュールの再構築のオプションについては、google(askubuntu内)を選択する必要があります。 残念なことに、私の専門分野はあなたのケースではありません。 AndroidエミュレータだけでもYakketyをまだサポートしていない可能性があります。 まだ特定のOSサポートについては何も持っていないと確信しています(Androidはこれを認識していません)が、特定のカーネルモジュールが不足しています – agg3l

答えて

14

は同じ問題を持っていたし、私の修正は、以下のenv変数を設定することでした。私の場合は

export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1

私は〜/ .bashrcの中にそれを置きます。それはAndroidのバグトラッカーで追跡一般的なよく知られた問題ですよう

$ emulator -avd Nexus_4_API_23

はルックス::https://code.google.com/p/android/issues/detail?id=197254

+1

ありがとう!また、Ubuntu 17.04でも動作します。 – Awi

8

同じエラーを表示し、単に私のために働いた$ANDROID_HOME/tools/lib64/libstdc++/*を削除してください。 16.10(6.0.22)と一緒に出荷されるlibstdC++バージョンは、sdkツール(6.0.18)に同梱されているバージョンよりも大きいので、他のライブラリとの競合が発生すると考えられます。

+0

これはもう機能しません。私の質問が更新されました。新しい回避策はありますか? – Gabor

3

問題はリットルに関連している私はつまり、コマンドラインから、いつものようにエミュレータを起動送信されているものと ibstdC++ so.6は、Android SDKに移動し、次のコマンドで解決できます。

cd ~/...../sdk/tools/lib64/libstdc++ 
mv libstdc++.so.6 libstdc++.so.6_OLD 
ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6 

クレジット:https://code.google.com/p/android/issues/detail?id=197254#c43

+0

これは修正されません。それでもエミュレータは 'getGLES2ExtensionString:GLES 2.x Pbufferを作成できませんでした! 'というエラーで自身を強制終了します。ソフトウェアベースレンダリングに切り替える必要があります。 – Gabor

0

私はかなりこれで苦労していた、その答えが正しいか、それは把握する私に時間がかかっただけでアプリケーションの方法です:

(ルートとして)私が実行した:にlibstdC++を見つけso.6

次に、現在のlib WITH VERSIONとLOCATIONの結果リストで、 私の場合、Android SDK(〜/ Android/Sdk/emulator/lib/libstdC++/libstdC++。so.6)に同梱されているものにmv/)、システムからのリンクを作成しました(/usr/lib/i386-linux-gnu/libstdc++.so.6 OR /usr/lib/x86_64-linux-gnu/libstdc++.so.6 OR/usr/lib32 /libstdc++.so.6はシステムによって異なります)

関連する問題