fishonesea

android 驱动,移植,qq群:91386163 推荐《Android深度探索(卷1):HAL与驱动开发》
  博客园  :: 首页  :: 新随笔  :: 管理

模拟器运行android镜像

Posted on 2014-10-29 00:09  fishonesea  阅读(6842)  评论(0编辑  收藏  举报

 

编译完成后需要运行一下,看看效果,操作中出现很多问题
 
先说明android4.0的,然后说明一下android2.3.4的,两者是一样的
 
一。android4.0.1
可以参看如下链接:
 
执行的命令就这一条:
emulator -system sytem.img -data userdata.img -ramdisk ramdisk.img
说明:emulator是在/working/android4.0/out/host/linux-x86/bin目录下的,也就是编译后生成的,看上面的命令,说明得把这个目录弄进path里面。
 
而后续的 sytem.img userdata.img ramdisk.img都是在/working/android4.0/out/target/product/generic目录下的,因此,这个目录也得弄进path下面了
 
出现的错误如下:
1.
emulator: WARNING: system partition size adjusted to match image file (166 MB > 66 MB)
所需空间不足 ,emulator 加入参数 -partition-size 1024 ,即:
emulator -partition-size 1024 -system sytem.img -data userdata.img -ramdisk ramdisk.img
 
 
最后我在.bashrc中添加了如下代码:
export ANDROID_PRODUCT_OUT_BIN=/working/android4.0/out/host/linux-x86/bin
export ANDROID_PRODUCT_OUT=/working/android4.0/out/target/product/generic
export ANDROID_SWT=/working/android4.0/out/host/linux-x86/framework
export PATH=${PATH}:${ANDROID_PRODUCT_OUT_BIN}:${ANDROID_PRODUCT_OUT};
 
ANDROID_SWT:貌似是因为一直抱swt.jar错误什么的,根据提示就export了。
 
需要执行以下:source ~/.bashrc
 

2.

qemu: could not load initrd 'ramdisk.img',
这个错误的描述,可以参看如下链接:http://bbs.csdn.net/topics/390120289
我的去掉后面的这个: -ramdisk ramdisk.img,模拟器就能出来,呵呵,但是总是想为什么人家的都出来了,我的就出不来,就搜索,最后参看这个:http://blog.sina.com.cn/s/blog_66e96efa0101ia8j.html
最后提到,除了chmod 777 外,还需要执行时加上绝对路径,最终执行的代码如下:
emulator -partition-size 1024 -system system.img -data userdata.img -ramdisk /working/android4.0/out/target/product/generic/ramdisk.img
 
最终,模拟器出来了,哈哈哈
来两幅图,哈哈:
 
 
 
 
 
 
 
二。android2.3.4
这个和上一步的操作一样,只需要把.bashrc中的路径改一下,运行的时候把ramdisk的路径改一下即可,
#android4.0
#export ANDROID_PRODUCT_OUT_BIN=/working/android4.0/out/host/linux-x86/bin
#export ANDROID_PRODUCT_OUT=/working/android4.0/out/target/product/generic
#export ANDROID_SWT=/working/android4.0/out/host/linux-x86/framework
#export PATH=${PATH}:${ANDROID_PRODUCT_OUT_BIN}:${ANDROID_PRODUCT_OUT};
 
#android2.3
export ANDROID_PRODUCT_OUT_BIN=/working/android2.3.4/out/host/linux-x86/bin
export ANDROID_PRODUCT_OUT=/working/android2.3.4/out/target/product/generic
export ANDROID_SWT=/working/android2.3.4/out/host/linux-x86/framework
export PATH=${PATH}:${ANDROID_PRODUCT_OUT_BIN}:${ANDROID_PRODUCT_OUT};
 
效果如下:
 
 
 
 
 
 
 
你会发现2.3.4的比4.0流畅多了,哈哈