builing android2.2(froyo)
估计和编donut差不多,参照donut的编译步骤,由于我之前编译过donut,所以环境基本都有了(环境配置参照我的blog),直接开始编译就行了。
1 执行envsetup.sh
切到froyo的目录
. build/envsetup.sh
2 开始编译
在froyo目录
make
提示出错,说需要java1.6
要安装java1.6并修改配置文件.bashrc, 由于我现在要维护donut和froyo两个版本,编译的时候需要的环境变量不一样,所以把以前写在.bashrc中的相关内容剪切出来,作成两个脚本,一个编donut的时候用,一个给froyo用,脚本都放在他们源码的顶级目录。
修改一下froyo的envsetup_mayq文件,使用java1.6,我没有java1.6,所以要先装一个,用新立得软件管理工具装,可以搜到sun-java6-sdk。
编译之前既要执行我的envsetup_mayq,又要执行froyo自带的envsetup.sh,干脆让我的调用它的,以后只要执行我的就行了。
envsetup_mayq的内容如下:
. build/envsetup.sh
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export CLASSPATH=$JAVA_HOME/lib
export ANDROID_JAVA_HOME=$JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin
再make,没遇到什么问题,编译成功。
3 启动emulator
先设置PATH,指向emulator的位置,
添加/home/peipei/froyo/out/host/linux-x86/bin到envsetup_mayq的PATH中,
敲命令emulator, 提示没有avd
$android create avd --target 8 --name avd_mayq
提示没有设置ANDROID_SWT,添加如下环境变量:
export ANDROID_SWT=~/froyo/out/host/linux-x86/framework
再尝试创建avd
peipei@ubuntu:~/froyo$ android create avd --target 8 --name avd_froyo
Error: Error parsing the sdk.
Error: /home/peipei/froyo/out/host/linux-x86/platforms is missing.
Error: Unable to parse SDK content.
peipei@ubuntu:~/froyo$
提示没有sdk,难道要编sdk?
4 编译sdk
$make sdk
前面一直都很正常,到生成doc的时候报错:
Docs droiddoc: out/target/common/docs/services
javadoc: error - In doclet class DroidDoc, method start has thrown an exception java.lang.reflect.InvocationTargetException
com.sun.tools.javac.code.Symbol$CompletionFailure: class file for sun.util.resources.OpenListResourceBundle not found
1 error
make: *** [out/target/common/docs/services-timestamp] Error 45
解决办法:在/home/peipei/froyo/build/core/droiddoc.mk:line158加 -XDignore.symbol.file /
我本来在改动的地方加了注释# mayq,重新编译的时候居然出现语法错误,看来是我写错了,于是我把注释去了,就好了。
参考:http://code.google.com/p/android/issues/detail?id=1261
重新编译,成功了,编译结果:
Docs droiddoc: out/target/common/docs/dexdeps
DroidDoc took 0 sec. to write docs to out/target/common/docs/dexdeps
Package SDK Stubs: out/target/common/obj/PACKAGING/android_jar_intermediates/android.jar
Package SDK: out/host/linux-x86/sdk/android-sdk_eng.peipei_linux-x86.zip
和android-sdk_eng.peipei_linux-x86.zip同级目录下还有一个同名的未压缩的文件夹,我们用它就可以了。
5 回到第3步,重新尝试创建avd,启动emulator
peipei@ubuntu:~/froyo$ android create avd --target 8 --name avd_froyo
Error: Error parsing the sdk.
Error: /home/peipei/froyo/out/host/linux-x86/platforms is missing.
Error: Unable to parse SDK content.
还是一样的错,上面提到的路径是哪儿来的?另外,我还没有做什么设置,编出来的sdk应该没有用到,所以还报一样的错也是合理的。
换个办法,不用命令行创建avd了,编个adt,Eclipse+adt+sdk,创建avd。
6 编译adt
编译adt的时候,之前编出来的sdk会被清除,最好做个备份。
编donut adt的时候,我们用的是$ development/tools/eclipse/scripts/build_server.sh ~/adt/
所以我们找一下froyo有没有build_server.sh,找到了,在/home/peipei/froyo/sdk/eclipse/scripts
在envsetup_mayq中添加环境变量 export ECLISPE_HOME=~/Downloads/eclipse_ganymede_jee
别忘了在修改之后执行一下envsetup_mayq
顺便说一句,发现一篇编译android的好文章http://www.netmite.com/android/mydroid/cupcake/development/docs/howto_build_SDK.txt
建个文件夹,放编译出来的结果,我新建的是froyo/adt文件夹
peipei@ubuntu:~/froyo$ ./sdk/eclipse/scripts/build_server.sh ~/froyo/adt
注意adt要写绝对路径,否则将报错:
**** Package in adt
Error: Build failed to produce adt/android-eclipse
Aborting
编译成功,结果:
ZIP of Update site available at /home/peipei/froyo/adt/android-eclipse-v201008111535.zip
7 Eclipse+adt+sdk
把这三个东西拼起来
注意Eclipse的版本有讲究,我用的是Eclispe3.4 ganymede jee
为了同时维护donut和froyo的Eclipse开发环境,我拷贝了一份Eclipse,把原来的donut的adt卸掉,装上froyo的adt,再将sdk的路径改掉。
把eclipse的workspace路径也改掉,在ui上没找到选项,直接改配置文件/home/peipei/Downloads/eclipse_ganymede_jee_froyo/configuration/.settings/org.eclipse.ui.ide.prefs中有这么一句:SHOW_WORKSPACE_SELECTION_DIALOG=fale,false改成true,重启就出现对话框了,让你选workspace路径。
无法启动,只有一个小对话框,这个问题以前碰到过,改/home/peipei/Downloads/eclipse_ganymede_jee_froyo/eclipse.ini文件,在末尾加这么一句:
-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner
重启eclipse,ok。
通过Help->Software Updates-> Installed Software 把Android DDM和Adnroid Development Tools卸掉。
卸载过程中,问你是否信任某个东东,打勾,ok。
把froyo的adt装上,具体过程就不写了,设置好sdk的路径,由于编译adt的时候把sdk给清除了,所以再编个sdk出来,参考步骤4,这次别忘了做好备份。
启动Eclipse,新建avd,启动模拟器,ok。
我们已经借助elcipse+adt+sdk创建了一个avd,虽然不知道放到哪儿了,现在在Terminla敲emulator也可以启动模拟器了,太好了。
builing android2.2(froyo)相关推荐
- android 2.2 sdk 源码,Ubuntu 10.10 编译Android2.2(froyo)源码 sdk adt
步骤参照: http://www.linuxidc.com/Linux/2011-03/32990.htm http://www.linuxidc.com/Linux/2011-03/32991.ht ...
- excel更改页眉页脚_带格式日期的Excel页脚
excel更改页眉页脚 It's Fancy Footer Friday! Check with your boss – maybe you can leave early to celebrate. ...
- 下载android2.2源码(froyo)(1)
参考文档: 1.http://afrv.blog.163.com/blog/static/56342141201041710412189/ 2.https://lug.ustc.edu.cn/wiki ...
- 解决导入Android例子时“Unable to resolve target 'android-x' ”的错误
今天导入一个Android的例子程序,出现了Unable to resolve target 'android-2' 的错误. 最后google之后才发现原来是 ADK版本 :---API Level ...
- Android Unable to resolve target 'android-8'
今天导入一个Android的例子程序,出现了Unable to resolve target 'android-8'的错误.刚开始以为是没导入包或者是phoneGap没配置好.可是折腾了好久还是报错. ...
- 安卓源码 代号,标签和内部版本号
Setup Security Porting Tuning Compatibility Reference 转到源代码 Getting Started Overview Codelines, Bran ...
- 12.UiAutomator 获取系统信息
一.Build构建信息 1.build类: Build类提供了硬件厂商.编号.序列号.SDK版本等重要信息. 类名:android.os.Build 常量名 说明 BOARD 底层板名称 BOOTLO ...
- Android 系统(234)---Android 代号、标签和版本号
代号.标签和版本号 Android 的开发是围绕着版本系列进行的,这些版本使用美味的点心名称(按字母顺序)作为代号. 平台代号.版本.API 级别和 NDK 版本 为方便起见,代号与以下版本号.API ...
- Android操作系统版本
Android操作系统版本 Android1.1(发布于2009年2月) 主要特性: 闹钟 API示例 浏览器 计算器 摄像头 联系人 开发工具包 拨号应用 电子邮件 地图(包含街景) 信息服务 音乐 ...
最新文章
- 浙大计算机学院朱建科,浙江大学计算机科学与技术学院导师介绍:朱建科
- 【机器学习经典算法源码分析系列】-- 逻辑回归
- [Leedcode][第215题][JAVA][数组中的第K个最大元素][快排][优先队列]
- linux误删表空间文件,UNDO表空间下的数据文件被误删除后的处理方法
- 今天看到导师给我的批注哭了...
- 类路径是什么意思_甲状腺结节4a类严重吗,是什么意思?怎么治疗需要手术吗?一文解答...
- [转载] Java静态代码块/构造代码块/构造函数/静态变量/成员变量(相关示例)
- J2EE Architecture(1)
- Java 程序设计基础知识
- spark练习案例(升级版)
- Oracle Statistic 统计
- 通过js操作jwplayer来播放暂停
- PS知识点大总结(一)——基础操作
- banner图的开发
- 杨百翰大学计算机科学,2019上海软科世界一流学科排名计算机科学与工程专业排名杨百翰大学排名第401-500...
- ros rviz显示rosbag中的图像和imu数据
- 壁挂炉计算机控制系统,DIY壁挂炉温控器连入米家实现自动和远程控制
- Linux 中新下载的FireFox(火狐浏览器)无法运行的解决方法
- vue+Element做表格的批量增加
- ubuntu 14.04源更新(sources.list)
热门文章
- 数据结构实践——B-树的基本操作
- 图像特征(二)——形状特征(主轮廓特征、区域特征、图像的矩及Hu矩)
- ubuntu NVIDIA CC sanity check failed:
- 阿里云服务器安装oracle11g-整理实战各路大神汇总
- tcpdump+wireshark双剑合璧
- 一篇不错的项目管理之道
- python seo编程_gogo闯SEO快排教程及应用编程(同步官方)
- Unity用代码批量修复材质球shader丢失的问题
- 2021消防工程师的试题,微信小程序,var http = require(‘http‘);
- 消除if…else的锦囊妙计