Android源码编译
来源:互联网 发布:上市公司毛利率算法 编辑:程序博客网 时间:2024/06/05 16:49
源码下载
Android源码下载支持的系统目前只有Ubuntu和Mac OS两种操作系统, 本次以Ubuntu系统为例.
官方网站: http://source.android.com/source/downloading.html
下载单独项目的源码:https://github.com/android
下载Git(版本控制工具). 调出命令行: ctrl + alt + T
sudo apt-get install git
安装curl(上传和下载数据的工具).
sudo apt-get install curl
安装repo(repo其实是一个应python脚本对Git的封装,主要是为了简化下载Android源代码的步骤。).
// 创建目录 mkdir ~/bin // 下载repo脚本到本地bin文件夹下 curl http://android.git.kernel.org/repo >~/bin/repo //官网:curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo // 如果上面下载失败, 采用下面这种方式 curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" >~/bin/repo // 给所有用户追加可执行的权限 chmod a+x ~/bin/repo //或chmod 755 ~/bin/repo // 临时把repo添加到环境变量中, 方便后面执行. // 注意: 每次重启ubuntu之后此环境变量失效, 重新配置就可以了. export PATH=~/bin:$PATH //注意: 若PATH出现错误导致shell无法正常使用,使用 export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 即可。
创建文件夹, 用于存放下载的Android源码.
mkdir ~/android_source
cd ~/android_source
初始化库.
// 需要先配置git的用户信息
git config --global user.email "2912354128@qq.com"
git config --global user.name "wailaixing"
repo init -u https://android.googlesource.com/platform/manifest -b android-2.3_r1
// 如果上面初始化失败, 用下面的代码
repo init -u git://codeaurora.org/platform/manifest.git -b gingerbread
当屏幕出现以下信息表示成功初始化
repo initialized in /home/shiyanqi/android_source
开始同步下载
repo sync
注意: 下载过程中, 因为网络问题, 可能会中断下载. 当中断下载时, 继续使用repo sync命令继续下载.
源码编译
在编译源码之前需要做一些准备操作
安装JDK
安装其他编译时依赖的软件.
sudo apt-get install gnupg sudo apt-get install flex sudo apt-get install bison sudo apt-get install gperf sudo apt-get install zip sudo apt-get install curl sudo apt-get install build-essential sudo apt-get install libesd0-dev sudo apt-get install libwxgtk2.8-dev sudo apt-get install libsdl-dev sudo apt-get install lsb-core sudo apt-get install lib32readline-gplv2-dev sudo apt-get install g++-multilib sudo apt-get install lib32z1-dev sudo apt-get install libswitch-perl
注意: ubuntu自带的源中速度比较慢, 有些软件找不到, 所以需要修改为国内的源, 修改源步骤如下:
1. 备份ubuntu自带的源.
sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
2. 修改源文件
sudo gedit /etc/apt/sources.list
3. 先删除所有内容, 然后把以下内容拷贝进去, 并保存.
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiversedeb http://mirrors.sohu.com/ubuntu/ trusty main restricted universe multiversedeb http://mirrors.sohu.com/ubuntu/ trusty-security main restricted universe multiversedeb http://mirrors.sohu.com/ubuntu/ trusty-updates main restricted universe multiversedeb http://mirrors.sohu.com/ubuntu/ trusty-proposed main restricted universe multiversedeb http://mirrors.sohu.com/ubuntu/ trusty-backports main restricted universe multiversedeb-src http://mirrors.sohu.com/ubuntu/ trusty main restricted universe multiversedeb-src http://mirrors.sohu.com/ubuntu/ trusty-security main restricted universe multiversedeb-src http://mirrors.sohu.com/ubuntu/ trusty-updates main restricted universe multiversedeb-src http://mirrors.sohu.com/ubuntu/ trusty-proposed main restricted universe multiversedeb-src http://mirrors.sohu.com/ubuntu/ trusty-backports main restricted universe multiverse
保存之后, 更新数据源. sudo apt-get update
- 开始编译, 在源码的目录下, 执行一下命令:
cd ~/android_socure
make
- 编译android源码5---编译android源码
- android源码编译,模块编译
- android源码的编译
- Android源码编译
- Android源码编译反思
- Android源码编译
- Android源码编译反思
- android 源码编译
- Android 源码下载编译
- android 源码编译
- Android源码编译
- Android 源码编译
- android 源码编译
- ubuntu编译android 源码
- 编译android源码
- android源码编译
- 编译android源码
- 编译android源码
- Android AsyncTask两种线程池分析和总结
- LeetCode 140 Word Break II (DFS 分词方法 推荐)
- 都市之极品系统 作者:里小白不白
- C# Url操作类封装、仿Node.Js中的Url模块
- [LeetCode]102. Binary Tree Level Order Traversal&107. Binary Tree Level Order Traversal II
- Android源码编译
- 枚举变量
- HDU1003
- 常用命令行的一些小知识点
- 第三周项目3—求和集并集
- 非常全的Linux笔试题
- Android性能优化终结-内存篇
- Ubuntu15.10下mysql 5.6.28中文乱码问题
- scanf()和getchar()在控制终端菜单