ubuntu android 源码下载

简介: 引用:http://wiseideal.iteye.com/blog/1338673 http://www.cnblogs.com/dwayne/archive/2011/11/16/2250732.html 对于像我这么个对unix系统不怎么懂的门外汉,下android的源码真的是务必的受折磨。

引用:http://wiseideal.iteye.com/blog/1338673

http://www.cnblogs.com/dwayne/archive/2011/11/16/2250732.html

对于像我这么个对unix系统不怎么懂的门外汉,下android的源码真的是务必的受折磨。经历的一整天的失败后终于在找到别人最近写的教程后成功下载。先奉上原文:

 

这两天着手编译源码 的准备工作,在此记录下过程,方便自己备份的同时也希望能对后来者有所帮助。

Attention:本文环境是在ubuntu 11.04下获取并编译android 2.3.3的源码,

 

过程参考了easwy的博文:http://www.2cto.com/kf/201111/110741.html

以及google官网http://source.android.com/source/downloading.html 。

 

官网上的要求信息为:

In general you will need:

•     Python  2.4 -- 2.7, which you can download from python.org.

•     JDK 6 if you wish to build Gingerbread or newer; JDK 5 for Froyo or older. You can download both from java.sun.com.

•     Git 1.5.4 or newer. You can find it at git-scm.com.

•     (optional) Valgrind, a tool that will help you find memory leaks, stack corruption, array bounds overflows, etc. Download from valgrind.org.

另外补充:需要6GB以上磁盘空间,依赖的deb包:flex、bison、gperf、libsdl-dev、libesd0-dev、libwxgtk2.6-dev、build-essential、zip、curl

一、下载 前准备工作

首先,准备好所需磁盘空间后,就来安装开发过程中需要的一些开发包,在终端中执行以下命令:

 $ sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

在此处,需要注意两点:1.libsdl版本为1.2;2.zlib1g-dev别看错了是1而不是l,当然非手敲的tx就不存在这个问题了。

然后需要安装java环境,直接在终端查看下version:

wayne@ubuntu:~$ java -version

程序“java”已包含在下列软件包中:

 * gcj-4.4-jre-headless

 * gcj-4.5-jre-headless

 * openjdk-6-jre-headless

请尝试:sudo apt-get install <选定的软件包>

输入:sudo apt-get install openjdk-6-jre-headless,安装就ok了,再查看下version:

wayne@ubuntu:~$ java -version

java version "1.6.0_22"

OpenJDK Runtime Environment (IcedTea6 1.10.2) (6b22-1.10.2-0ubuntu1~11.04.1)

OpenJDK Server VM (build 20.0-b11, mixed mode)

jdk就安装好了。

二、下载源码

现在我们已经准备好了android源码开发所需的环境(无错误),下载源码的过程由于Android的源码很是庞大,需要分Android源码和内核两部分获取。内核部分的源码我暂时是不用的,所以这里只下载源码。

1.先新建一个文件夹存放Android目录,并初始化repo:

wayne@ubuntu:~$ mkdir Android

wayne@ubuntu:~$ cd Android

wayne@ubuntu:~/Android$ mkdir bin

wayne@ubuntu:~/Android$ cd bin

wayne@ubuntu:~/Android/bin$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo >repo

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100 19731  100 19731    0     0  14034      0  0:00:01  0:00:01 --:--:-- 17157

 

在这里,几个月前http://android.git.kernel.org/已经无法访问了,很多朋友如果用的是这个源下载站点,就会出现如下情况:

wayne@ubuntu:~/Android/bin$ curl http://android.git.kernel.org/repo >repo

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100   244  100   244    0     0     75      0  0:00:03  0:00:03 --:--:--   976

然后在之后的代码初始化时就会出现如下错误:

./bin/repo: 行1: 未预期的符号`newline' 附近有语法错误

./bin/repo: 行1: `<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">'

2.现在继续。建立存放源码目录source,初始化所需的android源码版本,在终端执行如下命令:

wayne@ubuntu:~/Android/bin$ sudo chmod a+x repo

wayne@ubuntu:~/Android/bin$ cd

wayne@ubuntu:~$ cd Android/source/

wayne@ubuntu:~/Android/source$ ../bin/repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.3_r1

gpg: 钥匙环‘/home/wayne/.repoconfig/gnupg/secring.gpg’已建立

gpg: 钥匙环‘/home/wayne/.repoconfig/gnupg/pubring.gpg’已建立

gpg: /home/wayne/.repoconfig/gnupg/trustdb.gpg:建立了信任度数据库

gpg: 密钥920F5C65:公钥“Repo Maintainer <repo@android.kernel.org>”已导入

gpg: 合计被处理的数量:1

gpg:               已导入:1

 

Get https://android.googlesource.com/tools/repo

remote: Counting objects: 1414, done

remote: Finding sources: 100% (78/78)

remote: Total 1414 (delta 917), reused 1414 (delta 917)

Receiving objects: 100% (1414/1414), 429.88 KiB | 169 KiB/s, done.

Resolving deltas: 100% (917/917), done.

From https://android.googlesource.com/tools/repo

 * [new branch]      maint      -> origin/maint

 * [new branch]      master     -> origin/master

 * [new branch]      stable     -> origin/stable

...www.2cto.com

这样下来之后,会要求输入用户名和邮箱地址,随意写个就ok。

初始化完毕之后会出现:

repo initialized in /home/wayne/Android/source

现在完成初始化之后便可以下载了,在终端执行如下命令,开始下载:

wayne@ubuntu:~/Android/source$ ../bin/repo sync

下载全部的源码需要很长时间,现在正在经历漫长的等待……

过程中时常看一下,也许会出错而中断:

error: Exited sync due to fetch errors

遇到这些问题时,重新执行一遍../bin/repo sync就ok。

 

三、编译源码

编译部分要等待下载完成后再记录了,稍后奉上。

相关文章
|
7月前
|
JavaScript 前端开发 Android开发
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
203 13
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
2月前
|
存储 Android开发 数据安全/隐私保护
Thanox安卓系统增加工具下载,管理、阻止、限制后台每个APP运行情况
Thanox是一款Android系统管理工具,专注于权限、后台启动及运行管理。支持应用冻结、系统优化、UI自定义和模块管理,基于Xposed框架开发,安全可靠且开源免费,兼容Android 6.0及以上版本。
146 4
|
2月前
|
存储 人工智能 文字识别
三款安卓手机word编辑器下载,Microsoft Word,wps office,Word手机版,手机word编辑查看阅读器,PDF转换器apk下载
WPS Office是一款功能强大的办公软件,支持文档编辑、表格处理和演示文稿制作,兼容多种格式并提供丰富的云服务。它具备低内存占用、快速运行的特点,支持跨设备同步与多人协作,内置海量模板及AI辅助功能,如智能写作和PPT自动生成。此外,还可扫描文件、编辑PDF并转换为其他格式,极大提升办公效率,适合手机用户便捷操作。
183 1
|
3月前
|
Ubuntu 定位技术 TensorFlow
源码编译安装ROCm以运行tensorflow-rocm(适用于Ubuntu 23.04)
总结一番,完成这趟奇妙的技术之旅后,乐趣多多,还能享受 tensorflow-rocm 带来的便利和速度。这趟旅程需要耐心,勇气,以及对技术的热爱。朋友,做好准备,让你的Ubuntu系统展翅高飞吧!
153 9
|
3月前
|
Ubuntu 计算机视觉 芯片
ADE下载问题解决:编译OpenCV于Ubuntu 18.04
如果显示了OpenCV的版本号,那恭喜你,一道编译大餐现已酣畅淋漓,色香味俱佳,等你品尝。
104 8
|
4月前
|
Ubuntu 开发工具
Ubuntu环境下以源码编译方式安装Vim的步骤介绍
以上就是在Ubuntu环境下以源码编译方式安装Vim的全部步骤。就像煮一杯咖啡,虽然过程中需要耐心和一些技巧,但等到你熟悉之后,你会发现,不仅可以定制自己喜欢的口味,过程中的乐趣也是不能忽视的。希望你在编译安装Vim的过程中,能体验到这份乐趣。
232 21
|
6月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
1191 77
|
4月前
|
XML 搜索推荐 Android开发
Android改变进度条控件progressbar的样式(根据源码修改)
本文介绍了如何基于Android源码自定义ProgressBar样式。首先分析了系统源码中ProgressBar样式的定义,发现其依赖一张旋转图片实现动画效果。接着分两步指导开发者实现自定义:1) 模仿源码创建一个旋转动画XML文件(放置在drawable文件夹),修改图片为自定义样式;2) 在UI控件中通过`indeterminateDrawable`属性应用该动画。最终实现简单且个性化的ProgressBar效果,附带效果图展示。
253 2
|
5月前
|
Ubuntu 开发工具 C语言
Ubuntu环境下的Samba源码编译
以上就是在Ubuntu环境下编译Samba源码的步骤。希望这个指南能帮助你成功地从源码编译Samba。如果你在编译过程中遇到任何问题,你可以查阅Samba的官方文档,或者在网上搜索相关的教程和解决方案。
169 23
|
5月前
|
Ubuntu Linux
Ubuntu下载工具:ip addr、ifconfig、ping、make的使用
的选项和参数,这里只是简单地介绍了它们的基本用法。如果你想要深入学习这些工具,我建议你查阅它们的man页面,或者找一本好的Linux教程进行学习。
197 22