ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:388.34KB ,
资源ID:7658768      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7658768.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Ubuntu 100464位下载并编译 Android 22 源码.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Ubuntu 100464位下载并编译 Android 22 源码.docx

1、Ubuntu 100464位下载并编译 Android 22 源码Ubuntu 10.04(64位)下载并编译 Android 2.2 源码只有11条命令为了方便,我把所有操作写成了命令,按顺序(软件安装-源码下载-编译)执行成功即可:1. sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g+-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx

2、11-dev lib32readline5-dev lib32z-dev java-common unixodbc 2. sudo apt-get install sun-java6-jdk 3. cd 4. mkdir -p software/bin 5. curl http:/android.git.kernel.org/repo software/bin/repo 6. chmod a+x software/bin/repo 7. mkdir -p software/android/src/new 8. cd software/android/src/new 9. repo init -

3、u git:/android.git.kernel.org/platform/manifest.git -b froyo 10. repo sync 11. make -j4 =1. 前言本文叙述了如何从零开始搭建基于Google官方Android 2.2.1(froyo)源码的开发环境,包括如何下载源代码、编译源代码,以及在模拟器中运行编译生成的镜像。文中开发机是基于Ubuntu 10.04的,同样适用于其他版本的Ubuntu。现在需要弄清楚一下几点,防止后面出现误操作: 下载源代码是用参数:repo init -u git:/android.git.kernel.org/platform/

4、manifest.git -b froyo (下载的是2.2.1版本,编译环境操作系统必须是32位的,jdk1.5版本的-jdk1.5没有64位版本)。如果是没有带参数的下载源代码,将会下载所有的源代码,编译环境要求:操作系统64位,jdk1.6,(偶是2010年10月15日做)但很有可能会出现交叉编译工具错误:“ /bin/bash: prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc: 没有那个文件或目录 ”(实际上是有arm-eabi-gcc这个文件的,偶怀疑是版本问题-32位的,而环境要求是64位的- 下载全部代码)

5、2. 下载JDK 1.5 (不建议此下载方式,防止配置环境参数出错。建议用apt-get install方式,请跳转到:第4步)编译Android源码需要JDK1.5版(主要是需要其中的javadoc),1.6版是 不兼容的。JDK1.5已经停止支持,其最 终的版本是JDK 5.0 Update 22。可从Sun官网上下载:选择平台Linux,勾选同意许可协议: 单击Continue,在弹出的页面中一共有两个下载,选第一个jdk-1_5_0_22-linux-i586.bin下载: 3. 部署JDK 1.53.1 解压缩JDK以下命令均在root账户上执行,非root账户执行某些命令可能需要加

6、sudo。将jdk-1_5_0_22-linux-i586.bin放在root目 录下。进入该目录:cd 然后赋予该bin文件可执行属性:chmod +x jdk-1_5_0_22-linux-i586.bin再执行安装(注意前面有./):./jdk-1_5_0_22-linux-i586.bin跳过协议阅读。最后一行:Do you agree to the above license terms? yes or no键入yes,然后回车,开始解压。默认会解压到当前目录下的jdk1.5.0_22目录下(此处是/ jdk1.5.0_22)。3.2 JDK版本切换如果同时需要使用JDK1.6版做应

7、用开发,则系统中将同时存在JDK1.5和JDK1.6。 因此需要实现能够在不同版本间切换。如果不使用JDK1.6,请做完1.5版 的设置后跳至3.3节。这里使用update-alternatives命令实现。首先为JDK1.5版生成可选配置选项:update-alternatives -install /usr/bin/jdk jdk /root/jdk1.5.22 255 (sudo update-alternatives -install /usr/bin/jdk jdk /home/ynb/jdk1.5.0_22 255) /usr/bin/jdk是符号链接,它指 向/etc/alter

8、natives/jdk(由第2个参数 给出的),/root/jdk1.5.22(/home/ynb/jdk1.5.0_22)是 实际目的链接,255是优先级(任意整数, 在automatic mode自动模式 时,数字大的优先级较高,被选为默认配置选项)。然后再为JDK1.6版生成(如果有JDK1.6的话。不使用JDK1.6的请跳至3.3节):update-alternatives -install /usr/bin/jdk jdk /root/jdk1.6.20 0这样,默认jdk版本即为1.5版。 需要切换到1.6版时,请使用update-alternatives config jdk3.

9、3 配置JDK环境变量下面开始配置环境变量。在终端中执行:sudo gedit /.bashrc修改.bashrc文件,添加下面语句:#set java environmentexport JAVA_HOME=/usr/bin/jdkexport JRE_HOME=JAVA_HOME/jreexport CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH该段代码最好设置在文件的尾部。保存文件。在终端中执行source /.bashrc重启系统请使用java

10、 version检查JDK是否 配置正确。4.用apt-get install方式安装JDK1.5:Android 要求的 jdk 1.5,而Ubuntu10.4的源里只有JDK1.6. 如果安装了jdk1.6请先卸载:$sudo apt-get remove remove openjdk-6-jdk$sudo apt-get remove remove openjdk-6-jre$sudo apt-get remove remove openjdk-6-jre-headless安装jdk1.5目前网上解决方法有两种: 解决方法一(建议): 安装JDK1.5 1) 根据官方文档里所说,源代码的

11、编译必须使用JDK5才能编译的了,所以这里偶使用jdk5 2) 需要先更新源,在终端里执行 sudo vim /etc/apt/sources.list 3) 在source.list里把以下2行拷贝到文档最后面: deb jaunty multiversedeb-src jaunty multiversedeb jaunty-updates multiversedeb-src jaunty-updates multiverse 保存退出。 4) 执行 sudo apt-get update 更新源. 5) 配置编译环境并下载JDK5:sudo apt-get install sun-java

12、5-jdk 解决方法二: 安装JDK 1.6 , 修改Android源文件。 1) 安装jdk 1.6,修改(如果2.0版本源码请修改) 在文件中搜索并分别把: java_version := $(shell java -version 2&1 | head -n 1 | grep 1.5. $) javac_version := $(shell javac -version 2&1 | head -n 1 | grep 1.5. $) 两行改成: java_version := $(shell java -version 2&1 | head -n 1 | grep 1.6. $) java

13、c_version := $(shell javac -version 2&1 | head -n 1 | grep 1.6. $) 即可。 推荐使用第一种解决方法。5. 安装其他必备组件在终端上,使用下面的命令安装:(前面的1、2、3步骤都可以省略啦)sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev因为JDK1.5在前面已经单独安装过了,因此此处apt-ge

14、t install命令行中没有加入sun-java5-jdk。 6. 下载Android 源代码6.1 安装repo脚本首先安装repo。在当前用户:目 录下新建一个bin目录。在终端中执行:cd mkdir bin然后,向PATH中添加bin路 径:export PATH=$PATH:/bin然后执行下面两行指令,下载repo脚本并修改可执行属性:curl https:/android.git.kernel.org/repo /bin/repo chmod a+x /bin/repo6.2 初始化repo首先建立一个目录用来存放Android源代码:mkdir mydroidcd mydro

15、id然后用最新的列表执行初始化。这里偶下载android 2.2.1(froyo),因此加了参数 b froyo:(android 2.2.2(froyo)源码下载:2G多repo init -u git:/android.git.kernel.org/platform/manifest.git -b froyo )(下载2.1_r2源码repo init -u git:/android.git.kernel.org/platform/manifest.git b android-2.1_r2下载全部源码:repo init -u git:/android.git.kernel.org/pla

16、tform/manifest.git)(下载2.0源码:repo init -u git:/android.git.kernel.org/platform/manifest.git b eclair )(上面下载2.0时有个莫名其妙的问题:ynbynb-pc:/bin$ repo init -u git:/android.git.kernel.org/platform/manifest.git b eclairUsage: repo init -u url options出现上面问题,删除mydroid目录:rmdir mydroid ; mkdir mydroid2.0 ; cd mydro

17、id2.0;再:repo init -u git:/android.git.kernel.org/platform/manifest.git -b eclair 就可以了)(如果能通过浏览器浏览到android源码的主页,但运行repo init或repo sync的时候,却没法下载源码,形如:只需要把git开头的地址改为http即可:1repo init -u http:/android.git.kernel.org/platform/manifest.git -b froyo2修改manifest.git里的地址,也是把git:/改为http:/vim .repo/manifest.git

18、如: )这中间会问到你的名字和Email。如果你打算上传代码,Email须是一个Google账户。repo初始化成功后会看到类似于下面的提 示:repo initialized in /home/(当前用户名)/mydroid最后执行$repo sync开始同步代码。过程比较漫长,下载速度取决于你的网速(偶的3-4小时左右),中间有可能遇到断线,重新执行repo sync即可断点续传。7. 编译Android源代码7.1 编译生成镜像切换到android源码根目录下,执行$sudo make即可。首次编译非常耗时,取决于机器配置,大约需要2-3小时。有可能会出现:“Permission den

19、ied (权限拒绝的提示)” 请命令赋予权限:$cd 无权限文件的当前目录 回车; $sudo chmod -R +rwx * 回车; 完成后镜像生成在/root/mydroid/out/target/product/generic下:android源码编译后得到system.img,ramdisk.img,userdata.img映像文件。其中, ramdisk.img是emulator的文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,emulator加载这3个映像文件后,会把 system和 userdata分别加载到 ramdisk文件

20、系统中的system和 userdata目录下。7.2 编译、配置Android SDKmake编译完成后,执行$sudo make sdk命令,生成对应于该版本源代码的sdk,此过程用的时间偶的是10多分钟。注意这个sdk不能用于生产环境。用于生产环境的最好用如下命令: $sudo make PRODUCT-sdk-sdk命令,生成对应于该版本源代码的用于生产环境的sdk,此过程用的时间偶的是1个多小时。Android官方的SDK和偶自己编译Android源码时使用make sdk编译出的SDK有区别,模拟器版本不同,加载的默认镜像也不同(一个是官方的, 一个是自己编译的)。下面将展示如何能

21、够自由切换SDK版本。首先是自己编译的SDK版本,实际位置是/root/mydroid/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86。因为它比较常用,我们给它高优先级:update-alternatives -install /usr/bin/AndroidSDK AndroidSDK /root/mydroid/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86 255事先下载的官方SDK位置是/root/android-sdk-linux_86,执行:update-alte

22、rnatives -install /usr/bin/AndroidSDK AndroidSDK /root/android-sdk-linux_86 0然后使用update-alternatives -display AndroidSDK查看当前配置情况: 如果要切换配置,使用update-alternatives -config AndroidSDK配置AndroidSDK环境变量。终端中执行gedit /.bashrc 在文件最后添加下面三行:# set android environmentexport ANDROID_SDK_HOME=/usr/bin/ AndroidSDKexpo

23、rt PATH=$ANDROID_SDK_HOME/tools:$PATH 保存文件。在终端中执行source /.bashrc8. 在模拟器中运行编译的镜像打开终端,执行android脚本:$android出现下图所示窗口: 选择左边第一项Virtual Devices,然后在右边选择New,新建一个AVD。Name:AVD的名称,随便取,但只能包含字母和数字以及点、下划线和连字符, 这里取名test。Traget:目标SDK版本,这里选自己编译的2.1-r1版Android SDK。SD Card:SD卡。暂且不填,待需要时再设置。Skin:皮肤(模拟器屏幕分辨率)。Hardware:使用默认即可然后点Create AVD,就创建好了一个AVD。点击Start即 可启动模拟器,其运行的是自己编译的镜像。 若以后要再次启动此AVD,请在终端中运行:emulator avd test 或 者emulator test

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1