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

 

[plain]  view plain  copy
 
  1. $ git config --global user.name "Your Name"  
  2. $ git config --global user.email "you@example.com"  

  安装curl

[plain]  view plain  copy
 
  1. $ curl sudo apt-get install curl  

  下载repo脚本文件:

 

      <1> 创建保存脚本的文件:

 

[plain]  view plain  copy
 
  1. $ mkdir ~/bin  
  2. $ PATH=~/bin:$PATH  

  <2>下载repo工具并保证可执行

 

 

[plain]  view plain  copy
 
  1. $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo  
  2. $ chmod a+x ~/bin/repo  

2、开始下载

 

  <1>创建保存源码的文件夹,并进入 

[plain]  view plain  copy
 
  1. $ mkdir Android  
  2. $ cd Android  

      <2>执行repo init 之前必须指定manifest的URL

 

 

[plain]  view plain  copy
 
  1. $ 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.

 

[plain]  view plain  copy
 
  1. $ repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.1_r1  

     <4>下载

 

[plain]  view plain  copy
 
  1. $ repo sync  

下载的时间比较长,并且很可能中途停止,只要在repo sync 就可以接着下载,我下载了三四天,网速不太好。

 

3、编译源码

   <1>下载完之后,开始编译源码,编译源码之前需要安装openjdk1.7.x,ubuntu 16.04 直接安装的openjdk为1.8.x的所以按照以下操作下载

 

[plain]  view plain  copy
 
  1. $ sudo add-apt-repository ppa:openjdk-r/ppa    
  2. $ sudo apt-get update     
  3. $ sudo apt-get install openjdk-7-jdk   

如果安装了多个jdk 通过一下操作选择

 

 

[plain]  view plain  copy
 
  1. $ sudo update-alternatives --config java  
  2. $ 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> 设置环境

 

[plain]  view plain  copy
 
  1. $ source build/envsetup.sh  

或者

 

[plain]  view plain  copy
 
  1. $ . build/envsetup.sh  

  <3> 选择目标

 

 

[plain]  view plain  copy
 
  1. $ lunch aosp_arm-eng  

    或者直接lunch 选择aosp_arm-eng的序号

 

 <4>开始编译

 

[plain]  view plain  copy
 
  1. $ make -j8  

make后面的参数跟电脑的cpu有关我的使用的是-j8,也可以-j2,-j4等,2的倍数。

 

第一次编译需要的时间比较长我用的>4个小时。并且编译过程还出现过各种错误,http://blog.csdn.net/u010856630/article/details/51660566,这个是我编译过程中出现的问题。

  <5> 安装编译好的Android镜像到模拟器上。都是在Android文件夹下

    1. 设置环境变量:     
[plain]  view plain  copy
 
  1. $ export PATH=$PATH:~/Android/out/host/linux-x86/bin    
  2. $ export ANDROID_PRODUCT_OUT=~/Android/out/target/product/generic  
    其中,~/Android/out/host/linux-x86/bin有我们要执行的emulator命令,而~/Android/out/target/product/generic是Android镜像存放目录,下面执行emulator命令时会用到。
    
    2. 运行模拟器。
    $ emulator
  
     3.运行结果:


本文转自wanqi博客园博客,原文链接http://www.cnblogs.com/wanqieddy/articles/7511257.html,如需转载请自行联系原作者


相关文章
|
17天前
|
XML Java Android开发
Android实现自定义进度条(源码+解析)
Android实现自定义进度条(源码+解析)
49 1
|
17天前
|
Java Android开发
Android反编译查看源码
Android反编译查看源码
22 0
|
1月前
|
Ubuntu 网络协议 Java
【Android平板编程】远程Ubuntu服务器code-server编程写代码
【Android平板编程】远程Ubuntu服务器code-server编程写代码
|
2月前
|
Android开发
安卓SO层开发 -- 编译指定平台的SO文件
安卓SO层开发 -- 编译指定平台的SO文件
30 0
|
3月前
|
Ubuntu
百度搜索:蓝易云【解决Ubuntu终端下载速度过慢问题】
请注意,下载速度受到多种因素的影响,包括网络状况、软件源的位置和服务器负载等。尝试上述方法可能会有所改善,但并不保证能够解决所有情况下的下载速度过慢问题。
37 6
|
1月前
|
Shell 开发工具 Android开发
ADB 下载、安装及使用教程:让你更好地管理 Android 设备
ADB 下载、安装及使用教程:让你更好地管理 Android 设备
459 2
|
1月前
|
Android开发 对象存储
OSS对象储存android开发进行下载到本地文件时异步操作失效
android vivo80使用官方示例代码进行文件下载,但是使用oss.asyncGetObject(get, new OSSCompletedCallback<GetObjectRequest, GetObjectResult>()时onSuccess和onFailure不执行
|
1月前
|
定位技术 API 数据库
基于Android的在线移动电子导航系统的研究与实现(论文+源码)_kaic
基于Android的在线移动电子导航系统的研究与实现(论文+源码)_kaic
|
1月前
|
搜索推荐 测试技术 定位技术
基于Android的自助导游系统的设计与实现(论文+源码)_kaic
基于Android的自助导游系统的设计与实现(论文+源码)_kaic
|
1月前
|
Java 关系型数据库 应用服务中间件
基于Android的人事管理系统设计与实现(论文+源码)_kaic
基于Android的人事管理系统设计与实现(论文+源码)_kaic