ubuntu下android源码环境的配置
来源:互联网 发布:卡通农场怎么恢复数据 编辑:程序博客网 时间:2024/04/28 21:36
顺便说明下下载源码的命令网上找下,我的那个命令是公司的镜像,我在家里搭建的环境就是官网提供的下载地址,下面给你的参考,主要是我的一个备份,呵呵。
最好切换到root用户下进行操作
$ sudo -s
1.1,下载jdk1.5 并安装(下载自解压版本并设置环境变量)
编辑/root/.bashrc 添加
#set java environment
export JAVA_HOME=/work/jdk1.5.0_22
export JRE_HOME=JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export SDK_HOME=/work/froyo/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86/tools
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:$SDK_HOME:/work/froyo/out/host/linux-x86/bin
export ANDROID_PRODUCT_OUT=/work/froyo/out/target/product/generic
1.2,安装apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
1.3,下载源码
$ mkdir mydroid
$ cd mydroid
$ git clone git://mirror.*******.com/froyo/tools/repo.git tools/repo.git
$ ./tools/repo.git/repo init -u git://mirror.*******.com/froyo/platform/manifest.git -b froyo
$ ./tools/repo.git/repo sync
1.4,编译源码
$ export ANDROID_JAVA_HOME=$JAVA_HOME
$ make
查看编译过程中是否有错误,一般情况不会有错误,如果有错误可能是某个依赖包没有安装,安装提示的依赖包后重新make
1.5,生成sdk
$ make PRODUCT-sdk-sdk ###使用make sdk 会出现R文件不能自动生成的问题
编译完成后会在/work/froyo/out/host/linux-x86/sdk/目录生成sdk
1.6,编译完成之后查看是否编译成功
$ . build/envsetup.sh
$ emulator& //启动模拟器,如果能成功启动代表编译成功。
2.Android 在eclipse中进行调试
2.1,拷贝development/ide/eclipse/.classpath到源代码根目录并修改.classpath
$cd development/ide/eclipse/
$cp ./.classpath /work/froyo/
$cd froyo
$gedit .classpath
删除下面两行
<classpathentry kind="lib" path="out/target/common/obj/JAVA_LIBRARIES/google-common_intermediates/javalib.jar"/>
<classpathentry kind="lib" path="out/target/common/obj/JAVA_LIBRARIES/gsf-client_intermediates/javalib.jar"/>
添加 <classpathentry kind="lib" path="/work/froyo/out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/javalib.jar"/>
说明这个根据情况而定,看你那个eclipse下面错误提示需要哪些类
sudo chown -R archermind:archermind ./
sudo chmod -R +rw ./
ls -l
2.2,在eclipse中修改
2.2.1. 通过create file from existing source 导入froyo源代码
2.2.2. 展开packages/providers/CalendarProvider/src
2.2.3. 展开包: com.android.providers.calendar
2.2.4. 右键点击包com.android.providers.calendar
2.2.5. 选择 "new file"
2.2.6. 在对话框中选择点击 "Advanced >>" 按钮, 可以看到"Link to file in the file system" checkbox,
2.2.7. 勾选上 checkbox. 这时 "Browse..." 可用.
2.2.8. 点击 "Browse..." 按钮,选择EventLogTags.java (e.g.,out/target/common/obj/APPS/CalendarProvider_intermediates/src/src/com/android/providers/calendar/EventLogTags.java)
2.2.9. 点击OK
2.2.10. 点击 Finish (in "New File")
2.3 同样的方式修改com.android.providers.contacts的问题
3,调试
在IDE(eclipse)中修改源代码后在shell中编译运行
源码自带编译工具
先在android源码根目录执行 . build/envsetup.sh 再通过m/mm/mmm进行编译
- m: Makes from the top of the tree.
- mm: Builds all of the modules in the current directory.
- mmm: Builds all of the modules in the supplied directories.
$cd /work/froyo
$. build/envsetup.sh
$lunch 1 # 初始化模拟器等
$make/m/mm/mmm #
$emulator& # you should see a GUI picture of a phone
$ddms& #调试工具
3.1 修改APK应用:在packages中的应用如果修改后都可以单独编译。先执行
$. build/envsetup.sh #初始化
$ mmm packages/apps/Phone/
$mmm packages/providers/ContactsProvider/
##用mm/mmm来编译生成的.apk并不会打包到system.img中,需要我们手动通过make snod把system文件夹打包为system.img
##可以使用make snod将模块打包到system.img中,也可以使用 adb install *.apk安装
注:通过mmm packages/providers/ContactsProvider/ 编译后的apk在 out/target/product/generic/system/app
这时候通过 adb install out/target/product/generic/system/app/xxx.apk 安装你刚修改过的apk就可以在模拟器上看到你修改的效果了。
3.2 修改framework:如果在Contacts.java中修改了,必须重新编译下framework。先执行
$ . build/envsetup.sh #初始化
#网上有的说要执行 make update-api,实际上直接make PRODUCT-sdk-sdk就可以将修改后的framework编译到sdk中。 #编译framework后,那些修改了的应用可以不用再单独编译了。4~6分钟
$ make PRODUCT-sdk-sdk #重新生成SDK 10~20分钟
zhu yi daima zhong bu neng chu xian zhongwen jishi shi zhushi .
$cd /work/androidsourcesdk
$cp -r ./froy /work
SDK Location:/work/froyo/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86/
source /etc/profile
emulator -data foo
http://source.android.com/source/downloading.html
http://www.eoeandroid.com/forum-viewthread-tid-61367-highlight-android%2B%2B%E6%BA%90%E7%A0%81%2B%E4%B8%8B%E8%BD%BD.html
http://bbs.gfan.com/android-492578-1-1.html
http://blog.csdn.net/jackyu613/article/details/5778646
http://mips.eefocus.com/article/10-09/1968501285473833.html
http://www.java4px.info/a/JAVApeixunban/02/146.html
http://blog.csdn.net/globaldev/article/details/6162974
http://topic.csdn.net/u/20110328/16/ab03326f-9309-428e-b52c-0c122cedb5c9.html
http://hi.baidu.com/androidbbs/blog/item/f8f4001a8ba1bee7e0fe0bdf.html
- ubuntu下android源码环境的配置
- Ubuntu环境下的Android 环境配置
- Ubuntu下的android开发环境配置
- 配置Ubuntu下Android的开发环境
- Ubuntu下的android开发环境配置
- 从零开始搭建Ubuntu 环境下的Android 源码开发环境
- ubuntu下ANDROID环境配置
- Ubuntu下配置android环境
- ubuntu 12.04 amd64 编译android源码的JAVA环境配置
- Ubuntu环境下 Android平台源码的下载及编译
- Ubuntu 10.10下Android源码编译环境的搭建
- Ubuntu环境下 Android平台源码的下载及编译
- Ubuntu环境下 Android平台源码的下载及编译
- Ubuntu 16.04配置Android源码编译环境
- Ubuntu下android源码编译环境搭建
- android源码下载(ubuntu环境下)
- 解决 Ubuntu下Android源码开发环境
- android源码下载(ubuntu环境下)
- 专家畅谈ASP.NET与PHP的未来
- set map list
- qemu 使用
- 邮件头分析
- JavaScript教程
- ubuntu下android源码环境的配置
- 动态连接数据库
- ASP.NET MVC 3 Validation - 正则表达式验证RegularExpressionAttribute之日期验证
- PHP研究的部分资料
- mysql免安装配置及UTF8
- 追加同步写入代码以及同时OA与supesite采用不同的调用模式
- 用简单的数字诠释生活
- 日志类同步写入2010年8月31日
- 2010年9月4日星期六 多種方式調用中