インストール
1. 公式ダウンロードページ から .zip ファイルをダウンロード
2. 適当なフォルダーを作って展開
~/ の下のほうが良い気もしたけど、公式の例に従いました…
sudo mkdir /usr/local/android-studio/
cd /usr/local/android-studio/
unzip ~/Downloads/android-studio-ide-171.4443003-linux.zip
3. ライブラリの追加
注: 64 ビット版の Ubuntu をご利用の場合は、以下のコマンドで 32 ビット用のライブラリをいくつかインストールする必要があります。
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6 64 ビット版の Fedora をご利用の場合は、以下のコマンドを実行します。
sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686
公式のインストールマニュアルには64bitの場合上記を実行しろと書かれているがエラーになる。
kiya@kiya-ubuntu:~$ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2.1.0 lib32stdc++6
-- 中略 --
E: パッケージ lib32bz2.1.0 が見つかりません
E: 'lib32bz2.1.0' に一致するパッケージは見つかりませんでした
E: 正規表現 'lib32bz2.1.0' ではパッケージは見つかりませんでした
4. lib32bz2.1.0
はなくても行けそうなので除外してインストールする。
kiya@kiya-ubuntu:~$ sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6
5. PATH の設定
vi ~/.profile
# Android SDK
export ANDROID_HOME=${HOME}/Android/Sdk
if [ -d "${ANDROID_HOME}/platform-tools" ] ; then
PATH="${ANDROID_HOME}/platform-tools:$PATH"
fi
エミュレーターを起動しようとするとエラーになる
9:24 Emulator: libGL error: unable to load driver: i965_dri.so
9:24 Emulator: libGL error: driver pointer missing
9:24 Emulator: libGL error: failed to load driver: i965
9:24 Emulator: libGL error: unable to load driver: swrast_dri.so
9:24 Emulator: libGL error: failed to load driver: swrast
9:24 Emulator: X Error of failed request: BadValue (integer parameter out of range for operation)
9:24 Emulator: Major opcode of failed request: 152 (GLX)
9:24 Emulator: Minor opcode of failed request: 24 (X_GLXCreateNewContext)
9:24 Emulator: Value in failed request: 0x0
9:24 Emulator: Serial number of failed request: 56
9:24 Emulator: Current serial number in output stream: 57
9:24 Emulator: Process finished with exit code 1
デバッグ表示付きでエミュレーターを実行してみる
※ -avd 仮想端末名 (スペースを含む場合は _ に置き換える)
kiya@kiya-ubuntu:~/Android/Sdk/tools$ LIBGL_DEBUG=verbose ./emulator -avd 'Nexus5X'
libGL: Can't open configuration file /home/kiya/.drirc: そのようなファイルやディレクトリはありません.
libGL: pci id for fd 17: 8086:5912, driver i965
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
libGL: dlopen /usr/lib/x86_64-linux-gnu/dri/i965_dri.so failed (../emulator/lib64/libstdc++/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /usr/lib/x86_64-linux-gnu/dri/i965_dri.so))
libGL: OpenDriver: trying ${ORIGIN}/dri/tls/i965_dri.so
libGL: OpenDriver: trying ${ORIGIN}/dri/i965_dri.so
libGL: dlopen ${ORIGIN}/dri/i965_dri.so failed (${ORIGIN}/dri/i965_dri.so: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません)
libGL: OpenDriver: trying /usr/lib/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib/dri/i965_dri.so
libGL: dlopen /usr/lib/dri/i965_dri.so failed (/usr/lib/dri/i965_dri.so: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません)
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL: dlopen /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so failed (../emulator/lib64/libstdc++/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so))
libGL: OpenDriver: trying ${ORIGIN}/dri/tls/swrast_dri.so
libGL: OpenDriver: trying ${ORIGIN}/dri/swrast_dri.so
libGL: dlopen ${ORIGIN}/dri/swrast_dri.so failed (${ORIGIN}/dri/swrast_dri.so: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません)
libGL: OpenDriver: trying /usr/lib/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/dri/swrast_dri.so
libGL: dlopen /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません)
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 152 (GLX)
Minor opcode of failed request: 24 (X_GLXCreateNewContext)
Value in failed request: 0x0
Serial number of failed request: 56
Current serial number in output stream: 57
どうやら、../emulator/lib64/libstdc++/libstdc++.so.6 のバージョンが違うと言っているらしい。
インストール時に入れたライブラリへのリンクを貼る
# 念の為保存
cp /home/kiya/Android/Sdk/emulator/lib64/libstdc++ /home/kiya/Android/Sdk/emulator/lib64/libstdc++.bak
# 公式の指示でインストールしたライブラリへのリンクを貼る
ln -sf /usr/lib32/libstdc++.so.6* /home/kiya/Android/Sdk/emulator/lib64/libstdc++/
0 件のコメント:
コメントを投稿