Ubuntu 16.04 下载和编译android 6 源码
http://blog.csdn.net/u010856630/article/details/51678745
转载请注明: http://blog.csdn.net/u010856630/article/details/51678745
1、下载源码
前期准备:
安装Ubuntu,
安装 git (我的是系统自带装好) 可以输入 git --version 如果输出版本等信息则已经安装。没有安装的网上很多安装资料。并且设置git 的global user.name 和 user.email
- $ git config --global user.name "Your Name"
- $ git config --global user.email "you@example.com"
安装curl
- $ curl sudo apt-get install curl
下载repo脚本文件:
<1> 创建保存脚本的文件:
- $ mkdir ~/bin
- $ PATH=~/bin:$PATH
<2>下载repo工具并保证可执行
- $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
- $ chmod a+x ~/bin/repo
2、开始下载
<1>创建保存源码的文件夹,并进入
- $ mkdir Android
- $ cd Android
<2>执行repo init 之前必须指定manifest的URL
- $ repo init -u https://android.googlesource.com/platform/manifest
<3>To check out a branch other than "master", specify it with -b
. For a list of branches, seeSource Code Tags and Builds.
- $ repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.1_r1
<4>下载
- $ repo sync
下载的时间比较长,并且很可能中途停止,只要在repo sync 就可以接着下载,我下载了三四天,网速不太好。
3、编译源码
<1>下载完之后,开始编译源码,编译源码之前需要安装openjdk1.7.x,ubuntu 16.04 直接安装的openjdk为1.8.x的所以按照以下操作下载
- $ sudo add-apt-repository ppa:openjdk-r/ppa
- $ sudo apt-get update
- $ sudo apt-get install openjdk-7-jdk
如果安装了多个jdk 通过一下操作选择
- $ sudo update-alternatives --config java
- $ sudo update-alternatives --config javac
java 选择 java-7-openjdk.javac 选择 java-7-oracle/bin/javac 我选择的是这个,其他的-7-版本不知道可不可以用,-8-肯定不能用。
除了openjdk之外还需要安装许多其他工具,参考 http://wiki.cyanogenmod.org/w/Build_for_hammerhead#Install_the_SDK 中 Install the Build Packages 这个章节。
<2> 设置环境
- $ source build/envsetup.sh
或者
- $ . build/envsetup.sh
<3> 选择目标
- $ lunch aosp_arm-eng
或者直接lunch 选择aosp_arm-eng的序号
<4>开始编译
- $ make -j8
make后面的参数跟电脑的cpu有关我的使用的是-j8,也可以-j2,-j4等,2的倍数。
第一次编译需要的时间比较长我用的>4个小时。并且编译过程还出现过各种错误,http://blog.csdn.net/u010856630/article/details/51660566,这个是我编译过程中出现的问题。
<5> 安装编译好的Android镜像到模拟器上。都是在Android文件夹下
- $ export PATH=$PATH:~/Android/out/host/linux-x86/bin
- $ export ANDROID_PRODUCT_OUT=~/Android/out/target/product/generic
2. 运行模拟器。
3.运行结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2014-09-12 Android Butterknife框架
2013-09-12 cocos2d-x getVisibleOrigin
2012-09-12 android adb shell 进入recovery刷机