emulator启动编译源码

一、下载SDK,并解压到指定目录。

如/home/zhangyafei/Android/Sdk

二、设置环境路径

echo export ANDROID_HOME="/home/zhangyafei/Android/Sdk" >>  ~/.bashrc

echo export PATH="$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools"  >>  ~/.bashrc

source ~/.bashrc

三、创建虚拟机

android create avd -n android-27 -k  "android-27"

-n : 虚拟机的名字

-k  版本 。 不知道填什么没关系,先随便填一个,出错后会在后面提示。如:

System-Product-Name:~$ android create avd -n android-27 -k  "android-27"
*************************************************************************
The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager
*************************************************************************
Running /home/zhangyafei/Android/Sdk/tools/bin/avdmanager create avd -n android-27 -k android-27

Error: Package path is not valid. Valid system image paths are:ository...       
system-images;android-26;google_apis;x86
null

然后按提示改成正确的。

System-Product-Name:~$ android create avd -n android-26-1 -k  "system-images;android-26;google_apis;x86"
*************************************************************************
The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager
*************************************************************************
Running /home/zhangyafei/Android/Sdk/tools/bin/avdmanager create avd -n android-26-1 -k system-images;android-26;google_apis;x86

Auto-selecting single ABI x86===========] 100% Fetch remote repository...       
Do you wish to create a custom hardware profile? [no] 

四、运行虚拟机:

emulator -avd android-26-1

运行后报错:

System-Product-Name:~$ emulator -avd android-26-1
[140422558766912]:ERROR:android/android-emu/android/qt/qt_setup.cpp:28:Qt library not found at ../emulator/lib64/qt/lib
Could not launch '/home/zhangyafei/../emulator/qemu/linux-x86_64/qemu-system-i386': No such file or directory

解决方法:

在Sdk/emulator路径下运行命令,当然也可修改PATH

System-Product-Name:/$ cd ~/Android/Sdk/emulator/

再报错:

System-Product-Name:~/Android/Sdk/emulator$ emulator -avd android-26-1
ioctl(KVM_CREATE_VM) failed: 16 Device or resource busy
qemu-system-i386: failed to initialize KVM: Device or resource busy

原因:

AVD不能与virtualbox同时运行。

解决方法:关闭virtualbox

再运行:

System-Product-Name:~/Android/Sdk/emulator$ emulator -avd android-26-1
emulator: INFO: boot completed

运行成功!

五、加载自己编译的源码镜像:

./emulator -avd mydroid -system ANDROIID_DIR/out/target/product/generic/system.img  -data ANDROIID_DIR/out/target/product/generic/userdata.img -ramdisk ANDROIID_DIR/out/target/product/generic/ramdisk.img  -kernel ANDROIID_DIR/prebuilt/android-arm/kernel/kernel-qemu-armv7

https://wcq20071334.iteye.com/blog/1775030

猜你喜欢

转载自blog.csdn.net/zyfzhangyafei/article/details/88722440