1. 在启动模拟器之前,先设置模拟器的目录到环境变量$PATH中去:
USER-NAME@MACHINE-NAME:~/Android$ export PATH=$PATH:~/Android/out/host/linux-x86/bin
2. 设置ANDROID_PRODUCT_OUT环境变量:
USER-NAME@MACHINE-NAME:~/Android$ export ANDROID_PRODUCT_OUT=~/Android/out/target/product/generic
3. 在后台中指定内核文件启动模拟器:
USER-NAME@MACHINE-NAME:~/Android$ emulator -kernel ./kernel/common/arch/arm/boot/zImage &
不幸的是模拟器是可以启动但是总是黑屏,而且是用adb shell也连接不上设备,这可怎么办,都快成功了,然后就去网上再次找答案,找到了:原因是我的源码是4.4版本的,2.3版本以后的体系架构是用的是armv7了,所以不是:
make goldfish_defconfig
而是
make goldfish_armv7_defconfig
再次编译,成功再次是用镜像文件启动模拟器,草,傻眼了,结果还是失败太蛋疼了,然后各种搜索,原因上面的解答,但是我已经修改了,还是不行(这个问题纠结了两个礼拜,我差点就放弃了),最后想是不是源码的问题,也只能这么想了,所以又去晚上找2.3.7的源码,别说着了一天,真是不负有心人呀,还真的被我找到了,而且找到很多个版本,都是压缩包的形式,在这里我真心的要感谢这个人,懂得资源分享,
Android2.3.7源码下载地址: 文件名为:Android_2.3.7.tar.gz
然后我就很兴奋的重新编译了Android2.3.7版本的源码(其实我当时有点担心,因为我现在的系统是64位的,不知道这个源码是多少位的,但是最后编译成功了,这个版本是64位的,也就不需要重新换系统了),因为有了之前的编译过程,好多问题都提前解决了,编译过程中是很顺利的,也是在晚上编译的结果也是成功了,这次我们在通过上面的方式来编译内核,然后启动模拟器,擦,结果可以了:
成功了,这次是真的成功了,好感动,好激动呀,两次挫折两次激动~~
总结:其实我们可以回顾一下上面的过程,个人感觉没有任何技术可言,我遇到的最大的问题就是资源获取不到的问题,所以我将使用到的资源都给出了下载链接,同时感觉遇到问题不可以胆怯,要勇敢面对~~
PS:上面的过程是我成功之后的感想和操作,如果亲们按照我这种方式不成功的话,请留言~~我会帮助看看~~