主机配置:
32位XP,vbox虚拟机,32位ubuntu10.04,android2.2源码,JDK1.5
1、编译android2.2源码
编译环境准备好之后,在终端切换到android源码所在的目录
执行命令
$ source build/envsetup.sh
或者
$ . build/envsetup.sh
再执行:make
漫长的等待时间,大概要3个多小时吧,你可以出去玩儿了。机器在全力编译代码,会比较卡。
android2.2源码整个编译,在源码目录文件夹out/target/product/generic生成有system.img,ramdisk.img,
userdata.img三个映像文件。ramdisk.img是emulator的文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,emulator加载这3个映像文件后,会把system和userdata分别加载到ramdisk文件系统中的system和userdata 目录下。
2、编译源码对应的SDK
编译完源码之后再来编译SDK
make PRODUCT-sdk-sdk
或者android模拟点击
make sdk
时间开销大概在40分钟。正确完成编译后生成的SDK存放在out/host/linux-x86/sdk/,此目录下有_linux- x86.zip和_linux-x86目录。_linux-x86就是SDK目录。其中的“xxx”在不同的机器上编译显示的字符也不同。比如我的机器名是“wz”,那么编译成功之后生成的就是“android-sdk_eng.wz_linux- x86.zip和android-sdk_eng.wz_linux-x86”.
3、配置用来启动android模拟器的环境变量:
终端输入命令:
gedit ~/.bashrc
打开.bashrc,在.bashrc文件的最后面加入如下字符:
export PATH=$PATH :/android源码路径/out/host/linux-x86/bin export ANDROID_PRODUCT_OUT=/android源码路径
/out/target/product/generic
把“android源码路径”替换为自己机器上的真实路径,因为每个人的路径都不一样,请不要完全复制我的,自己做相应修改。修改之后执行命令:
source ~/.bashrc
4、启动模拟器
此时变量已配置好,输入命令:
emulator
就可以启动android虚拟机了,如下图所示:
这样虽然能打开虚拟机,但是我们却无法对虚拟的android设备进行自由的配置,只能默认。
5、自主配置模拟器
从其他资料上看到,自主配置模拟器的方式为:终端下输入下面命令
android
不过遇到了下面的错误:
SWT folder
'/root/dsk/android/out/host/linux-x86/framework/x86' does not exist.
Please export ANDROID_SWT to point to the folder containing swt.jar for your platform.
解决办法为,在.bashrc文件中最后另起一行,加入下面一行:
export ANDROID_SWT=/android源码所在路径
/out/host/linux-x86/framework
具体操作参考“2、配置用来启动android模拟器的环境变量”
重新执行步骤5,又报错了:
Error: Error parsing the sdk.
Error: /android源码所在路径/out/host/linux-x86/platforms is missing.
Error: Unable to parse SDK content
解决办法:
将位于out/host/linux-x86/sdk/android-sdk_eng.wz_linux-x86目录下的platforms 、add-ons、tools三个文件夹拷贝到out/host/linux-x86下
重新执行步骤5,终端给出下面信息:
自动弹出下面:
很熟悉吧?好了,我们可以自主配置我们的android模拟器了,点击右边按钮“New”
设置好之后下面按钮“Create A VD”就可以正常点击了,设置完之后,进入上一幅图片的界
面,选中要启动的虚拟设备,点击右面的“”,就可以正常启动了。如下图:
OK,模拟器正常启动。注意:这样启动的模拟器是不带有虚拟SD卡的,下面介绍如何启动挂载SD卡的模拟器的方法。
6、插入SD卡并向SD卡导入数据
生成SD卡
打开终端,切换到home/wz/download/my目录(个人意愿,任何一个地方都行),执行命令:mksdcard 1024M sdcard.img
该命令会在当前目录下生成一个sdcard.img文件。第一个参数指定虚拟SD卡大小,第二个参数指定虚拟SD卡的名字和格式,一般通用都是指定.img格式,有资料上说格式可以随意指定,我没试过其他的格式。
启动模拟器并挂载刚才生成的SD卡,命令看下图:
SD卡生成后可以随意挪动位置,只不过以后在想挂载的话,输入上面的命令的时候把SD
卡的路径写成SD卡新的路径就行了,我已经做过尝试。挂载成功的话,会在SD卡所在文件夹生成一个sdcard.img.lock的文件,模拟器关闭之后该文件自动消失。
将PC上的文件复制到SD卡中:
刚才的终端不要关闭,重新打开一个终端。
我要复制的文件是吴奇隆的歌曲“一路顺风”,歌曲放在了跟sdcard.img同一个目录,为了输入方便我把歌曲重命名了。首先切换到该目录,然后执行命令
adb push wuqilong.mp3 sdcard/1.mp3
回车,等待一小会儿。出现下图则说明传输成功。
需要注意的的是,要想成功传输文件,必须保证挂载了该SD卡的模拟器已经成功启动且android系统要运行稳定了再传,不要着急。
请注意:
网上其他博客给出这样的命令:adb push 文件全名sdcard。这条命令我输进去,出现错误:faild to copy “” to ‘sdcard’ : is a directory. sdcard后面一定要写上参数,参考我上面的写法即可。
测试歌曲文件
歌曲push进去之后,模拟器上点击音乐播放器,是不到该歌曲的,让播放器显示该歌曲的步骤:
进入下面界面
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论