设为首页 收藏本站
查看: 584|回复: 0

[经验分享] Ubuntu10.10下编译Android2.2平台

[复制链接]

尚未签到

发表于 2018-5-5 13:31:17 | 显示全部楼层 |阅读模式
  Ubuntu10.10下编译Android2.2平台

  环境:Ubuntu10.10 Android2.2.2_r1  android-gldfish-2.6.29
  0 说明
  Android2.2的platform和kernel是分别的项目,要分别下载编译。本文是Ubuntu10.10  环境下Android2.2.2_r1平台(包含SDK)的编译。
  读者:希望深入Android底层开发者,如果只是ANDROID应用开发者,不用如此麻烦,直接下载现成的SDK以及其他相应工具即可。

  一、环境准备
  1.1.   安装Utunbu10.10
  在写此文时,ubuntu已经有更新的安装包发布,笔者没有更新。
  1.2.   工具下载安装
  haili@haili-desktop:~$sudo apt-get install git-core  curl
  haili@haili-desktop:~$sudo apt-get install gnupg flex  bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev build-essential zip  libncurses5-dev zlib1g-dev
  1.3. SUN jdk  5.0下载安装
  android2.2要求用SUN  JDK5,而ubuntu10.10里安装的是JDK6,需要重新安装5.0的jdk。用apt-get方法(1.3.1)简单易操作,可是笔者试着更新了很多源,但是都连接不上,所以用了直接下载安装的方法(1.3.2)。这里只是把apt-get的方法放在这里,并没有验证。
  1.3.1 apt-get install安装JDK5
  1)  添加JDK5的更新源,打开source.list
  haili@haili-desktop:~$sudo gedit  /etc/apt/sources.list
  2)  在source.list里把下面内容追加到文档最后面:
  deb  http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse
  deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty  multiverse
  deb  http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
  deb-src http://us.archive.ubuntu.com/ubuntu/  jaunty-updates multiverse
  保存退出。
  3)更新源。
  执行
  haili@haili-desktop:~$sudo apt-get  update
  4)  配置编译环境并下载JDK5:
  haili@haili-desktop:~$sudo apt-get install  sun-java5-jdk
  1.3.2 官方网站下载JDK5安装
1) 官网http://java.sun.com/javase/downloads/5u22/jdk去下载jdk-1_5_0_22-linux-i586.bin,
  2)  然后执行安装,
  haili@haili-desktop:~$cd ~
  haili@haili-desktop:~$chmod +x  jdk-1_5_0_22-linux-i586.bin
  haili@haili-desktop:~$./jdk-1_5_0_22-linux-i586.bin
  执行之后,生成  ~/jdk1.5.0_22
  3)JDK版本切换
  安装了多个JDK的话,可以用update-alternatives设置版本,并进行切换选择使用哪个。
  首先为JDK1.5版生成可选配置选项:
  haili@haili-desktop:~$sudo  update-alternatives  –install /usr/bin/jdk jdk ~/jdk1.5.0_22 255
  说明:/usr/bin/jdk是符号链接,它指 向/etc/alternatives/jdk(由第2个参数给出),~/jdk1.5.0_22(/home/haili/jdk1.5.0_22)是实际目的链接,255是优先级(任意整数,在自动模式时,数字大的优先级较高,被选为默认配置选项)。
  4)  配置JAVA环境
  执行:
  haili@haili-desktop:~$sudo gedit  ~/.bashrc
  在文件的尾部追加:
  export  JAVA_HOME=/usr/bin/jdk
  export  JRE_HOME=JAVA_HOME/jre

  export >  export  PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
  使更改生效。保存文件,执行
  haili@haili-desktop:~$source ~/.bashrc
  二、下载Android2.2  platform
  下载Android  Platform用git,Android用repo封装了git,用curl获取repo。工具git-core和curl在1.2中已经下载安装了。
  2.1. 获取repo
  haili@haili-desktop:~$cd ~
  haili@haili-desktop:~$mkdir bin
  haili@haili-desktop:~$curl  http://android.git.kernel.org/repo >~/bin/repo
  haili@haili-desktop:~$chmod a+x  ~/bin/repo
  2.2.   把~/bin路径加入到PATH
  执行:
  haili@haili-desktop:~$sudo gedit  ~/.bashrc
  在文件的尾部追加:
  export  PATH=$PATH:~/bin
  执行
  haili@haili-desktop:~$source ~/.bashrc
  2.3 获取android-2.2.2.r1
可以到http://android.git.kernel.org,点击platform/manifest.git看当前的版本,笔者选择了当前2.2的最新版本android-2.2.2_r1。
  下载android2.2.2_r1,执行
  haili@haili-desktop:~$cd ~
  haili@haili-desktop:~$mkdir  android-2.2.2_r1
  haili@haili-desktop:~$cd  android-2.2.2_r1
  haili@haili-desktop:~/android-2.2.2_r1$repo init -u  git://android.git.kernel.org/platform/manifest.git –b  android-2.2.2_r1
  haili@haili-desktop:~/android-2.2.2_r1$repo sync  -j4
  三、编译Android镜像
  环境设置
  haili@haili-desktop:~/android-2.2.2_r1$ source  build/envsetup.sh
  haili@haili-desktop:~/android-2.2.2_r1$  lunch
  会提示选择
  1.        generic-eng
  2.        simulator
  3.        full_dream-userdebug
  4.        full_passion-userdebug
  5.        full_sapphire-userdebug
  选择1,会显示当前的设置
  PLATFORM_VERSION_CODENAME=REL
  PLATFORM_VERSION=2.2.2
  TARGET_PRODUCT=generic
  TARGET_BUILD_VARIANT=eng
  TARGET_SIMULATOR=false
  TARGET_BUILD_TYPE=release
  TARGET_BUILD_APPS=
  TARGET_ARCH=arm
  HOST_ARCH=x86
  HOST_OS=linux
  HOST_BUILD_TYPE=release
  BUILD_ID=FRG83G
  编译,执行
  haili@haili-desktop:~/android-2.2.2_r1$make  –j2
  如果编译没什么问题,编译完成之后会生成镜像在目录~/android-2.2.2_r1/out/target/product/generic下:system.img,ramdisk.img,userdata.img。
  四、编译Android  SDK
  刚才并没有编译SDK。要编译SDK,执行
  haili@haili-desktop:~/android-2.2.2_r1$make  sdk
  生成
  ~/  android-2.2.2_r1/out/host/linux-x86/sdk/android-sdk_eng.haili_linux-x86.zip
  ~/  android-2.2.2_r1/out/host/linux-x86/sdk/android-sdk_eng.haili_linux-x86
  加入路径,追加下面两行到~/.bashrc
  export ANDROID_SDK_ROOT=~/  android-2.2.2_r1/out/host/linux-x86/sdk/android-sdk_eng.haili_linux-x86
  export  PATH=$ANDROID_SDK_ROOT/tools:$PATH
  执行
  haili@haili-desktop:~/android-2.2.2_r1$source  ~/.bashrc
  五、验证
  创建AVD,执行
  haili@haili-desktop:~/android-2.2.2_r1$android
  在启动的Android  SDK and AVD Manager中,创建AVD,取值如下,
  Name:           AVD_HVGA;
  Target:          Android 2.2.2 – API Level 8;
  SD  Card:      1024M
  Skin:  HVGA
  点击按钮Create  AVD,创建出AVD_HVGA。
  执行
  haili@haili-desktop:~/android-2.2.2_r1$emulator –avd  AVD_HVGA

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-456206-1-1.html 上篇帖子: Ubuntu10.10下编译Android2.2内核 下篇帖子: 随记:Ubuntu12.04下手工配置网络
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表