作者

彭东林

pengdonglin137@163.com

平台

Ubuntu14.04 64

androidstudio 2.3.3

现象

在创建好模拟器后,点击启动时,模拟器界面刚出来就闪退了

解决

由于是在图形界面点击启动的,看不到任何出错的log,所以我们需要使用命令行启动emulator的方式,这样会把出错的信息打印出来。

1、查看我们创建的模拟器的名字:

从上图看到模拟器的名字是: 32_QVGA_ADP2_API_25

2、找到android sdk中模拟器

对于我的机器,模拟器存放在/home/pengdonglin/disk_ext/Android_Latest/android_sdk/emulator

3、命令行运行模拟器

$./emulator64-x86 -avd 32_QVGA_ADP2_API_25
./emulator64-x86: /usr/lib/x86_64-linux-gnu/libQt5Core.so.: no version information available (required by ./emulator64-x86)
./emulator64-x86: /usr/lib/x86_64-linux-gnu/libQt5Core.so.: no version information available (required by ./emulator64-x86)
./emulator64-x86: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.: no version information available (required by ./emulator64-x86)
./emulator64-x86: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.: no version information available (required by ./emulator64-x86)
./emulator64-x86: relocation error: ./emulator64-x86: symbol qt_version_tag, version Qt_5. not defined in file libQt5Core.so. with link time reference

上网搜索后,得到如下解决办法:

从网上下载Qt5.7的代码(qt-opensource-linux-x64-5.7.0.run),然后安装,将Qt5.7中含有上面的库的路径添加到环境变量中,我的是:

export LD_LIBRARY_PATH=/home/pengdonglin/Qt5.7.0/5.7/gcc_64/lib:$LD_LIBRARY_PATH

将上面的配置添加到.bashrc中,然后将其生效。

再次运行,得到如下出错信息:

$./emulator64-x86 -avd 32_QVGA_ADP2_API_25
sh: : glxinfo: not found
Failed to open lib64EGL_translator: [lib64EGL_translator.so: cannot open shared object file: No such file or directory]
gles2_dispatch_init: Could not load lib64GLES_V2_translator [lib64GLES_V2_translator.so: cannot open shared object file: No such file or directory]
emulator: ERROR: Could not load OpenGLES emulation library [lib64OpenglRender]: lib64OpenglRender.so: cannot open shared object file: No such file or directory
emulator: ERROR: Could not initialize OpenglES emulation, use '-gpu off' to disable it.

提示缺少上面的库,其实这些库就在模拟器所在的目录的lib64下,同样将该路径添加到环境变量中:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/pengdonglin/disk_ext/Android_Latest/android_sdk/emulator/lib64

生效后,再次运行,又得到如下错误信息:

$./emulator64-x86 -avd 32_QVGA_ADP2_API_25
sh: : glxinfo: not found
failed to create drawable
getGLES2ExtensionString: Could not create GLES .x Pbuffer!
Failed to obtain GLES .x extensions string!
Could not initialize emulated framebuffer
emulator: ERROR: Could not initialize OpenglES emulation, use '-gpu off' to disable it.

这里有两种解决办法:

第一种: 根据提示,在命令行后添加 -gpu off

第二种: 修改我们创建的模拟器配置,使用软件模拟GLES的方式:

如上图所示,选择Software-GLES 2.0

再次运行,发现可以成功运行了,而且没有报任何错误,而且此时再在图形界面里点击启动按钮也是可以正常启动模拟器的。

完。

解决ubuntu上在androidstudio中启动emulator闪退的问题(1)的更多相关文章

  1. 解决ubuntu上在androidstudio中启动emulator闪退的问题(2)

    平台 Ubuntu14.04 64 现象 在AndrodStudio中点击模拟器的启动按钮后,模拟器界面弹出后,又立刻闪退. 解决 一.查看模拟器的信息 从上面可以看到模拟器的存放路径以及名称: 路径 ...

  2. [异常解决] ubuntu上安采用sudo启动的firefox,ibus输入法失效问题解决

    采用sudo启动的应用是root权限的应用, ibus失效是因为ibus的初始配置采用user权限: 而root下运行的firefox输入法的配置还是停留在默认情况~ 解决方案是在shell下以roo ...

  3. 一文彻底解决Ubuntu上PHP的安装以及版本切换

    Ubuntu上官方的源,比如 Ubuntu14.04 默认源中的是 PHP5.6.x.Ubuntu16.04 默认源中的是 PHP7.0.x,那么如果想在 Ubuntu16.04 上安装 PHP7.1 ...

  4. 8. 启动Tomcat闪退无法启动原因解决

    原因可能是由于下面问题导致的: 1.Tomcat环境在不同电脑上引用的jdk路径不同 比如:在A电脑上Tomcat引用的jdk路径为:C:\Java\jdk1.6.0_10 而在B电脑上jdk的安装路 ...

  5. MongoDB mongo.exe启动及闪退解决 转载

    转载自:http://blog.csdn.net/wyx_wx/article/details/76108662 启动: 进入MongoDB安装目录下的bin目录,启动mongod.exe 出现如图所 ...

  6. 全网最详细的Windows里Anaconda-Navigator启动后闪退的解决方案(图文详解)

    不多说,直接上干货!  问题详情 点击 出现Anaconda-Navigator启动后闪退的现象. 或者 装过一次anaconda,貌似按了一个更新的键就打不开了.navigator这个打不开,会停留 ...

  7. Android中处理崩溃闪退错误

    Android中处理崩溃闪退异常 大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试, ...

  8. android app启动就闪退怎么办?

    开发过程中,如遇到android app启动就闪退,不要急,直接进入调试模式运行app,就会取得出错的原因. http://blog.sina.com.cn/s/blog_44fa172f0102wg ...

  9. mac osx 启动wireshark闪退

    wireshark启动会提示安装x11 去x11地址安装后 启动还是闪退 原来是姿势不对 这样才行~~ 这一步 这个路径一定要对!路径一定要对!路径一定要对! 然后报错不用管它,如果没反应了,就继续等 ...

随机推荐

  1. 【干货】linux系统信息收集 ----检测是否被恶意程序执行了危险性命令

    这些实战完全可以练习以下命令,已经找到需要观察的交互点,真实工作的时候,把数据都导入到自己U盘或者工作站内. 在kali 或者centos下训练都一样,关于kali教学,这里推荐掌控安全团队的课程:掌 ...

  2. windows下使用pip安装python模块lxml

    pip install lxml 1 1 会有如下问题:  结果一路解决下去,解决了一个坑还是有一个坑,遂放弃,查找有没有别的解决办法. 亲测使用wheel+pip可以成功安装lxml! wheel本 ...

  3. Linux硬盘的检测(原创)

    http://czmmiao.iteye.com/blog/1058215 概述 随着硬盘容量.速度的快速发展,硬盘的可靠性问题越来越重要,今天的单块硬盘存储容量可轻松达到1TB,硬盘损坏带来的影响非 ...

  4. mysql innodb 行级锁升级

    创建数据表test,表定义如下所示: CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NO ...

  5. Android中如何在代码中设置View的宽和高?

    Android中如何在代码中设置View的宽和高?https://zhidao.baidu.com/question/536302117.htmlhttps://blog.csdn.net/u0141 ...

  6. .NetCore 结合微服务项目设计总结下实践心得

    以下内容全是在项目中的体验,个人理解心得 起源 2017年7月开始接触.NetCore,当时还是因为Idr4的原因,之前的项目都是用的Idr3做,后面接触到Idr4后,决定以后所有项目都使用.NetC ...

  7. Linux下jdk、Tomcat、MySQL的安装

    1. 安装JDK 1.上传jdk-7u45-linux-x64.tar.gz到Linux上(使用WinSCP工具) 2.解压jdk到/usr/local目录 tar  -zxvf  jdk-7u45- ...

  8. Spark优化之gc

    对于官方Programming Guides的GC优化一节做了阅读. 在这里记录一下我的理解,可能记录的比较混乱没有条理: 我理解其实GC优化的主要目的就是在你的任务执行中使用更少的内存,进行更少的g ...

  9. php 会话控制(Session会话控制)

    php的session会话是通过唯一的会话ID来驱动的,会话ID是一个加密的随机数字,由php生成,在会话的生命周期中都会保存在客户端.客户端保存数据的地方只有cookie,所以php的会话ID一般保 ...

  10. laravel5 session的基本使用

    配置session配置文件位于config/session.hpp 默认情况下使用session驱动为文件驱动,在生产环境中,建议使用memcache或者redis驱动以便获取更快的session性能 ...