linux编译安卓源码,Ubuntu 16.04 下载和编译Android 6.0 源码

1、下载源码

前期准备:

安装 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

$ 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://www.linuxidc.com/Linux/2017-05/144073.htm,这个是我编译过程中出现的问题。

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

1. 设置环境变量:

$ export PATH=$PATH:~/Android/out/host/linux-x86/bin

$ 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.运行结果:

a5ed89509891d1a89761a266ac09d7df.png

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值