Andriod源码下载与编译
来源:互联网 发布:后期制作软件 编辑:程序博客网 时间:2024/05/31 19:43
亲测编译成功,首先是下载,google官网能够下载当然是最好的,但是我们大多数不能下载,推荐使用清华大学的镜像站,网址如下
http://mirrors.tuna.tsinghua.edu.cn/
在AOSP中
1.下载 repo 工具:
mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo
2.建立工作目录:
mkdir WORKING_DIRECTORYcd WORKING_DIRECTORY
3.初始化仓库:
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest# 或 repo init -u git://aosp.tuna.tsinghua.edu.cn/aosp/platform/manifest## 如果提示无法连接到 gerrit.googlesource.com,可以编辑 ~/bin/repo,把 REPO_URL 一行替换成下面的:REPO_URL = 'https://gerrit-google.tuna.tsinghua.edu.cn/git-repo'
注意如果你有更好的镜像地址直接修改就可以了。
4.如果需要某个特定的 Android 版本:对于版本名字参照镜像网站和官网
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-6.0.1_r1
5.同步源码树(以后只需执行这条命令来同步):
repo sync
6.使用每月更新的初始化包
由于首次同步需要下载 37GB 数据,过程中任何网络故障都可能造成同步失败,因此你可以选择使用每月更新的初始化包。
首先到 http://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/ 选择合适自己的构建包,aosp-latest.tar.xz 经过了 xz 压缩, 相对 aosp-latest.tar 小一些,但是解压的时间也要考虑进来,27G的压缩包呢!(如果CPU核多可以使用pxz解压)
使用方法如下:
wget http://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包tar xf aosp-latest.tarcd AOSP # 解压得到的 AOSP 工程目录repo sync # 正常同步
我没有使用6这个方法,网络断了之后,直接退出来然后继续同步
安装JDK
首先用以下命令搜索JDK版本
apt-cache search openjdk
执行安装
sudo apt-get install openjdk-7-jdk
查看是否安装成功
java -version
3、配置java_home
直接运行
echo $JAVA_HOME
并不能看到输出。
设置:
echo export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/" >> ~/.bashrc
然后重启terminal或通过使用以下命令
source ~/.bashrc
此时重新输入echo $JAVA_HOME,就可以看到配置好的路径了
1.编译代码
首先在Android源代码目录下的build目录下,有个脚本文件envsetup.sh,执行这个脚本文件后,就可以获得一些有用的工具:
. ./build/envsetup.sh
lunch
选择一个版本,建议选择eng版本
开始编译
make -j8
编译完成后会有输出 在out目录下
2.编译完成之后编译sdk
sudo make PRODUCT-sdk-sdk
编译生成的SDK在out/host/linux-x86/SDK下。之后如果在ubuntu下使用eclipse进行开发,可以使用你编译的SDK。
注意!!!这里生成的文件一定要移出out目录,否则在单编时会删除(删除后只能重新编译SDK),相应的指向也变成你移动到的文件夹。
下面就在模拟器中运行镜像,建议切到root用户下,首先配置几个环境变量,将自己编译的SDK设为优先级最高,在源码根目录下
如何进入root目录以及如何设置密码:
首先设置密码
sudo passwd root
进入root:
su root
update-alternatives --install /usr/bin/AndroidSDK AndroidSDK /code/sdk/android-sdk_eng.root_linux-x86 255
需要注意的是/code 后面是我移动sdk生成的文件位置,不要照抄,并且确保路径正确,即sdk下面有这个android-sdk_eng.root_linux-x86文件
这样会在/etc/alternatives下生成一个指向该SDK目录的软连接AndroidSDK,这个目录主要存放一些系统默认打开的程序的信息和配置。那么/usr/bin/AndroidSDK就指向这个软连接。接着执行:
gedit ~/.bashrc
在文件末尾添加:
export ANDROID_SDK_HOME=/usr/bin/AndroidSDK export PATH=$ ANDROID_SDK_HOME/tools:$PATH export ANDROID_PRODUCT_OUT=~/android/out/target/product/generic
第三个ANDROID_PRODUCT_OUT的指向不要照抄,按照你的路径
接着就可以执行:
source ./build/envsetup.sh
与编译源码时执行的相同,作用也是相同的
lunch sdk-eng
emulator
单独编译(建议切换到root下面)
如果你不想编译整个系统,就想编译某一个应用程序,可以使用mmm命令,使用之前,在源码目录下先要执行:
build/envsetup.sh
这样会生成一些命令,有m即make、mm编译当前目录下所有模块、mmm编译指定目录下所有模块。你可以把packages/apps/Music应用的application name改成MyMusic(AndroidManifest.xml中),然后执行:
mmm packages/apps/Music
在out/target/product/generic/system/app中就可以看见Music.apk,然后执行:
make snod
重新生成system.img。
再次启动emulator。
- Andriod源码下载与编译
- 源码下载与编译
- 下载编译andriod kernel
- andriod 源码下载
- 编译Andriod源码 2.1
- Android源码下载与编译
- Android源码下载与编译
- android 源码 下载与编译
- SEAndroid源码下载与编译
- Openwrt源码下载与编译
- Android源码下载与编译:
- pixhawk源码下载与编译
- 准备工作:源码下载与编译
- android源码下载与编译
- Kaldi源码下载与编译
- Libcef源码下载与编译
- Android开发:andriod 源码下载
- 编译Andriod源码 运行 emulator
- JZOJ 4223.旅游
- 多路径后创建文件系统
- 代码块
- nodejs中cluster使用
- linux type
- Andriod源码下载与编译
- 压力测试的思路和方法小结
- 我需要把数据库的数据以图表的形式(饼状,线状,柱状)显示出来,不知道django下面有没有比较好用的一些插件工具或者自带的类等等
- cocos2d-x截屏
- Educational Codeforces Round 6 620C Pearls in a Row
- Add Two Number
- 实现对象的复用——享元模式(五):单纯、复合享元模式,享元模式总结
- 8VC Venture Cup 2016 -A - Robot Sequence/B - Cards
- Android 自定义控件实现手势密码