`
chimer
  • 浏览: 36204 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Ubuntu 10.尝试编译Android2.2 1

阅读更多
---------2.2----------
需要  gcc  g++ 4.3

如果用最新的 4.4 肯定会出语法错误
比如
open(path, O_WRONLY | O_APPEND | O_CREAT );
改为
open(path, O_WRONLY | O_APPEND | O_CREAT , 0777 );
等,还有 const char* 问题,都是浪费时间。

其中会用到  gcc g++ cc 命令 注意连接到正确的版本

如果有这种错误,是因为 2.2的源代码没删除干净
No module defined for the given PRODUCT_POLICY (android.policy_phone)
frameworks/policies/base/PolicyConfig.mk:22: *** No module defined for the given PRODUCT_POLICY (android.policy_phone). Stop.
--------------------------------------

2.3 装 opensdk-6-sdk 即可,更方便。

编译会用到的包,提前安装。
aptitude install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

//
update-al

操作系统用一个单独的 .vmdk 文件,即单独的虚拟硬盘。

分区的划分, out 文件夹用一个单独的 .vmdk 文件,编译时候链接进去。每个版本用不同的。

存放源代码用一个单独的 .vmdk  ,每次更换版本如果有错,记得把上回的删干净再取

以后每个版本单独出 out ,比较适合我这样多个版本的人,而且方便同事间互相传,2.2 和 2.3 的打包后不超过3G。

这样就可以互不影响方便使用,也可以减少传输


编译完把 system.img useddata.img ramdisk.img 弄出来放到windows下(网络共享或者映射也行,不影响使用)用下面的 bat 脚本启动即可(自己稍作修改)。

@echo off
::以下变量顺序不要打乱,有依赖关系
set sdkpath=E:\android-sdk-windows
:: 2.2 为 8 , 2.3.3 为10
set sdkversion=10
set platform=platforms\android-%sdkversion%
set skindir=%sdkpath%\%platform%\skins
set syspath=%sdkpath%\%platform%
set imgpath=%CD%
set skin=WVGA800
:: 模拟器启动的文件存放
set sysimgpath=%syspath%\images
:: 核心文件
set kernel=%sysimgpath%\kernel-qemu
set sdcard=C:\sdcard.img
set sysimg=system.img
:: -datadir 写入锁文件目录 -initdata 为初始化的userdata.img , -data 为加载的 不存在会自建
:: 可以使用-wipe-data将当前的userdata-qemu.img回复到出厂设置
set initusrimg=userdata.img
:: -data "%initusrimg%"  userdata-qemu.img 自动产生,路径由  datadir 指定
set usrimg=userdata-qemu.img
:: 以上两个参数不能一样
set rmdsk=ramdisk.img
set cache=cache.img
set syssize=100
:: 内存
set memsize=512
:: factor: 0.1-3.0
set scale=1
:: 240 dpi
set dpi=240
set noanim=-no-boot-anim 
:: -http-proxy
:: 路径参数优先文件参数
@echo on
emulator -skin %skin% -skindir "%skindir%" -partition-size %syssize% -sysdir "%imgpath%" -datadir "%imgpath%" -initdata "%initusrimg%" -data "%usrimg%" -kernel "%kernel%" -system "%sysimg%"  -ramdisk "%rmdsk%" -cache %cache% -sdcard "%sdcard%"  -dpi-device %dpi% -scale %scale% %noanim% -verbose
::-shell


单独编译资源文
croot
make android.policy
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

Global site tag (gtag.js) - Google Analytics