解决在kali中无法运行android模拟器的问题

最近在kali中捣鼓了一下Android-Studio,安装运行并没有问题,连接真机也能进行测试。但当我运行模拟器的时候出现问题了,按正常步骤添加,然后就是运行不了,也看不到错误提示。根据多年的开发经验,运行不了,肯定会有错误提示的,于是就去找到android-studio启动模拟器时所用到的程序,这个东西还是很好找的,就放在SDK目录下,有一个叫emulator的文件夹,然后手动运行一下里面的emulator64-x86程序。当我./emulator64-x86的时候出现以下错误提示:

emulator: ERROR: No AVD specified. Use '@foo' or '-avd foo' to launch a virtual device named 'foo'

大概意思就是说要使用@foo 或者 -avd foo 参数来启动一个名字叫foo的虚拟设备。

嗯,那就按他说的来,找了找,我刚刚新建的模拟器名字叫Nexus_5X_API_21。(在~/.android/avd目录下找到的)

整理成命令就是 ./emulator64-x86 -avd Nexus_5X_API_21

一回车,肯定是运行不了的啊,我本来就是来看错误提示的嘛。嗯,不出所料,输出了以下错误提示:

emulator: ERROR: Could not load OpenGLES emulation library [lib64OpenglRender]: lib64OpenglRender.so: cannot open shared object file: No such file or directory

This application failed to start because it could not find or load the Qt platform plugin "xcb"

in "".

Available platform plugins are: linuxfb, minimal, offscreen, xcb.

Reinstalling the application may fix this problem.

已放弃

嗯,很详细,既然有错误提示就好办了嘛,好像还不止一个错误,先一个一个来。

直接就提示说无法加载OpenGLES的一个库:lib64OpenglRender.so。嗯,去网上找了一下,说这个库android-studio自己就带了,就放在emulator/lib64这个文件夹中,之所以说无法

加载是因为没有LD_LIBRARY_PATH这个环境变量。原来如此,那好吧,没有就给添加上:

打开/etc/profile 在最后加上export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~Android/Sdk/emulator/lib64(具体路径就是android SDK目录下的emulator/lib64)

OK,接下来让环境变量生效一下

source /etc/profile

到这一步,我们继续运行上面的命令:./emulator64-x86 -avd Nexus_5X_API_21

一回车,错误信息就变成了下面这样:

This application failed to start because it could not find or load the Qt platform plugin "xcb"

in "".

Available platform plugins are: linuxfb, minimal, offscreen, xcb.

Reinstalling the application may fix this problem.

已放弃

对比一下之前的错误信息,哈哈,我好像把一个问题给解决了,嗯再来。

接下来这个错误信息是说:这个应用无法启动,因为没有找到Qt平台插件 "xcb"

这个东西linux系统里不是有吗,就在/usr/lib/x86_64-linux-gnu/qt5/plugins目录,那应该也是配置一下环境就OK了,于是去网上找了一下资料,找到一个叫QT_QPA_PLATFORM_PLUGIN_PATH的变量,把这个环境变

量创建好就OK了

说干就干,再往/etc/profile文件的最后加上一行

export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt5/plugins

然后source /etc/profile一下

再一次运行./emulator64-x86 -avd Nexus_5X_API_21

哈哈,成功开启模拟器