Android Studio 3.0 模拟器无法启动
Android Studio 模拟器无法在 Kali Linux 中启动.我得到的错误是:
Android Studio emulator can't start in Kali Linux. The error I get is:
25/12/17 凌晨 3:01 Gradle 同步开始
25/12/17 3:01 AM Gradle sync started
凌晨 3:01 项目设置开始
3:01 AM Project setup started
凌晨 3:01 Gradle 同步在 1 秒 333 毫秒内完成(从缓存状态)
3:01 AM Gradle sync finished in 1s 333ms (from cached state)
凌晨 3:02 * 守护程序未运行;现在从 tcp:5037 开始
3:02 AM * daemon not running; starting now at tcp:5037
凌晨 3:02 模拟器:libGL 错误:无法加载驱动程序:i965_dri.so
3:02 AM Emulator: libGL error: unable to load driver: i965_dri.so
凌晨 3:02 模拟器:libGL 错误:缺少驱动程序指针
3:02 AM Emulator: libGL error: driver pointer missing
凌晨 3:02 模拟器:libGL 错误:无法加载驱动程序:i965
3:02 AM Emulator: libGL error: failed to load driver: i965
凌晨 3:02 模拟器:libGL 错误:无法加载驱动程序:i965_dri.so
3:02 AM Emulator: libGL error: unable to load driver: i965_dri.so
凌晨 3:02 模拟器:libGL 错误:缺少驱动程序指针
3:02 AM Emulator: libGL error: driver pointer missing
凌晨 3:02 模拟器:libGL 错误:无法加载驱动程序:i965
3:02 AM Emulator: libGL error: failed to load driver: i965
凌晨 3:02 模拟器:libGL 错误:无法加载驱动程序:swrast_dri.so
3:02 AM Emulator: libGL error: unable to load driver: swrast_dri.so
凌晨 3:02 模拟器:libGL 错误:无法加载驱动程序:swrast
3:02 AM Emulator: libGL error: failed to load driver: swrast
凌晨 3:02 模拟器:失败请求的 X 错误:BadValue(整数参数超出操作范围)
3:02 AM Emulator: X Error of failed request: BadValue (integer parameter out of range for operation)
凌晨 3:02 模拟器:失败请求的主要操作码:156 (GLX)
3:02 AM Emulator: Major opcode of failed request: 156 (GLX)
凌晨 3:02 模拟器:失败请求的次要操作码:24(X_GLXCreateNewContext)
3:02 AM Emulator: Minor opcode of failed request: 24 (X_GLXCreateNewContext)
凌晨 3:02 模拟器:失败请求中的值:0x0
3:02 AM Emulator: Value in failed request: 0x0
凌晨 3:02 模拟器:失败请求的序列号:68
3:02 AM Emulator: Serial number of failed request: 68
凌晨 3:02 模拟器:输出流中的当前序列号:69
3:02 AM Emulator: Current serial number in output stream: 69
凌晨 3:02 模拟器:进程完成,退出代码 1
3:02 AM Emulator: Process finished with exit code 1
凌晨 3:02 * 守护进程成功启动
3:02 AM * daemon started successfully
凌晨 3:02 正在执行任务:[:app:assembleDebug]
3:02 AM Executing tasks: [:app:assembleDebug]
凌晨 3:02 模拟器:libGL 错误:无法加载驱动程序:i965_dri.so
3:02 AM Emulator: libGL error: unable to load driver: i965_dri.so
凌晨 3:02 模拟器:libGL 错误:缺少驱动程序指针
3:02 AM Emulator: libGL error: driver pointer missing
凌晨 3:02 模拟器:libGL 错误:无法加载驱动程序:i965
3:02 AM Emulator: libGL error: failed to load driver: i965
凌晨 3:02 模拟器:libGL 错误:无法加载驱动程序:i965_dri.so
3:02 AM Emulator: libGL error: unable to load driver: i965_dri.so
凌晨 3:02 模拟器:libGL 错误:缺少驱动程序指针
3:02 AM Emulator: libGL error: driver pointer missing
凌晨 3:02 模拟器:libGL 错误:无法加载驱动程序:i965
3:02 AM Emulator: libGL error: failed to load driver: i965
凌晨 3:02 模拟器:libGL 错误:无法加载驱动程序:swrast_dri.so
3:02 AM Emulator: libGL error: unable to load driver: swrast_dri.so
凌晨 3:02 模拟器:libGL 错误:无法加载驱动程序:swrast
3:02 AM Emulator: libGL error: failed to load driver: swrast
凌晨 3:02 模拟器:失败请求的 X 错误:BadValue(整数参数超出操作范围)
3:02 AM Emulator: X Error of failed request: BadValue (integer parameter out of range for operation)
凌晨 3:02 模拟器:失败请求的主要操作码:156 (GLX)
3:02 AM Emulator: Major opcode of failed request: 156 (GLX)
凌晨 3:02 模拟器:失败请求的次要操作码:24(X_GLXCreateNewContext)
3:02 AM Emulator: Minor opcode of failed request: 24 (X_GLXCreateNewContext)
凌晨 3:02 模拟器:失败请求中的值:0x0
3:02 AM Emulator: Value in failed request: 0x0
凌晨 3:02 模拟器:失败请求的序列号:68
3:02 AM Emulator: Serial number of failed request: 68
凌晨 3:02 模拟器:输出流中的当前序列号:69
3:02 AM Emulator: Current serial number in output stream: 69
凌晨 3:02 模拟器:进程完成,退出代码 1
3:02 AM Emulator: Process finished with exit code 1
凌晨 3:03 Gradle 构建在 16 秒 582 毫秒内完成
3:03 AM Gradle build finished in 16s 582ms
看起来,在某些 android studio 更新中,google 使用了与系统上安装的 intel 驱动程序不兼容的 libstdc++.
It looks like, in some android studio update, google used a libstdc++ incompatible with the intel driver installed on the system.
使用您喜欢的文本编辑器编辑您的 .profile
Edit your .profile using your favorite text editor
vim ~/.profile将其附加到文件末尾
vim ~/.profile Append this at the end of the file
export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
如果它不起作用,请尝试安装 lib64stdc++ 和 mesa-utils 库:
If it doesn't work try installing lib64stdc++ and mesa-utils libraries:
sudo apt-get install lib64stdc++6 mesa-utils
并制作从系统 libstdc++ 到 android studio one 的符号链接:
and making a symlink from the system libstdc++ to the android studio one:
cd ~/Android/Sdk/tools/lib64/libstdc++/
mv libstdc++.so.6 libstdc++.so.6.bak
ln -s /usr/lib64/libstdc++.so.6