www.3015.com

当前位置:澳门唯一金莎娱乐 > www.3015.com > [Android] Ubuntu下Android源码编译

[Android] Ubuntu下Android源码编译

来源:http://www.savelapetitebande.com 作者:澳门唯一金莎娱乐 时间:2019-10-25 04:53

安装Ubuntu

本身使用的windows系统,因而利用Oracle VM Virtual Box设想机安装Ubuntu系统,Ubuntu系统自身选拔的是Ubuntu14.04。
1、下载Oracle VM Virtual Box https://www.virtualbox.org/wiki/Downloads[Android] Ubuntu下Android源码编译。 依据各自的连串下载对应的版本。
2、下载Ubuntu系统 http://www.ubuntu.com/download/desktop 本人选用的是 Ubuntu 14.04.4 LTS 64bit。
3、如何接纳Oracle VM Virtual Box安装Ubuntu,本身就不在做过多的废话了,不了解者请查询相关资料。

配置设想机分享文件夹

为了使下载的Android源代码能在Windows中运用SourceInsight开拓,所以必要创制Windows分享文件夹,在Ubuntu中让源代码下载在分享文件夹中,只怕让Ubuntu分享代码下载的文本夹,在Windows中访谈。本文以第生机勃勃种形式为例阐述。

Paste_Image.png

此设置必要在关闭Ubuntu虚构机的处境下设置。设置完成之后,展开Ubuntu系统开掘未有权力去寻访这一个分享文件夹,施工方案是把近些日子顾客加到一个叫vboxsf的组中,施行命令

sudo usermod -a -G vboxsf <你的用户名>

挂载的分享文件夹在/media

Paste_Image.png

此处自身使用了SecureCRTSSH远程连接了Ubuntu

sudo apt-get install openssh-server // 安装SSH服务

安装需要的工具

[Android] Ubuntu下Android源码编译。1、git版本调整工具

sudo apt-get install git

配置git

git config --global user.email "<你的邮箱>"
git config --global user.name "<你的名字>"

2、curl,官方一点的说教就是开源的文件传输工具。相同迅雷,恐怕wget

sudo apt-get install curl

3、 安装repo,Android使用Git作为代码管理工科具,开垦了Gerrit进行代码调查以便更加好的对代码实行集英式管理,还支付了Repo命令行工具,对Git部分命令封装,将百多少个Git库有效的开展组织。
[Android] Ubuntu下Android源码编译。新建八个bin目录

mkdir ~/bin

~/bin目录增添到PATH中,编辑.bashrc在最终增添

PATH=$PATH:~/bin

下载repo

curl https://storage-googleapis.lug.ustc.edu.cn/git-repo-downloads/repo > ~/bin/repo

[Android] Ubuntu下Android源码编译。增加可施行权限

chmod a+x ~/bin/repo

应用repo下载Android系统源码

1、cd到分享文件夹
新建叁个文件夹寄放Android源码

mkdir android && cd android

领头化工作目录,默以为master 分支

repo init -u  git://mirrors.ustc.edu.cn/aosp/platform/manifest

开头化职业目录,并点名分支

repo init -u  git://mirrors.ustc.edu.cn/aosp/platform/manifest -b <branch>

branch可查阅网址
https://source.android.com/source/build-numbers.html#source-code-tags-and-builds [急需翻墙]

附上一些较新的种类分支

Build Branch Version
M5C14J android-6.0.1_r31 Marshmallow
LMY49J android-5.1.1_r37 Lollipop
KTU84Q android-4.4.4_r2 KitKat

假使想下拉并切换来Android 4.4.4,能够实行一下发令

repo init -u  git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-4.4.4_r2

万生龙活虎在初始化的时候碰着以下难题

Paste_Image.png

那是二个Virtual Box为了安全禁止了链接的乖谬,建设方案如下,请在关门设想机的气象下张开,
Windows 下cmd进去到Virtual Box的装置目录

Paste_Image.png

键入

VBoxManage setextradata <YOURVMNAME> VBoxInternal2/SharedFoldersEnableSymlinksCreate/<YOURSHAREFOLDERNAME> 1

<YOU奥迪Q3VMNAME> = 设想机的名字
<YOUSportageSHAREFOLDEEscortNAME> = 设置分享的名字
请稳重分寸写,比方

Paste_Image.png

Paste_Image.png

Paste_Image.png

设置完结后,查看有没有设置成功

VBoxManage getextradata <YOURVMNAME>  enumerate  

Paste_Image.png

先河化之后,目录上边多了一个.repo潜伏文件夹,查看其初叶大小

Paste_Image.png

2、下拉代码

repo sync 

repo sync 下载最新本地职业文件,同步 repository 中的代码。 能够内定必要更新的project , 假如不钦命其余参数,会联手整个全体的连串。假使是首先次运营 repo sync, 则这么些命令相当于 git clone,会把 repository 中的全数内容都拷贝到本地。借使不是第三遍运营 repo sync, 则约等于更新和机关合併动作,repo sync 会更新 .repo 上边的文件。 如果在merge 的进度中冒出冲突, 那亟需手动运维 git rebase --continue

防护中途人离开出错,能够利用以下脚本

#!/bin/bash
echo "======start repo sync======"
repo sync
while [ $? == 1 ]; do
  echo "======sync failed, re-sync again======"
  sleep 3
  repo sync -j4
done

repo sync前边能够加个-j<数字>参数来加速饭馆克隆,如:

repo sync -j8 // 默认是4

风度翩翩道时间相提并论,笔者大约挂了两三个小时

营造编译际遇

对此Gingerbread (2.3.x)之后的体系要求63个人的操作系统,老的系统能够在32为的机器上编写翻译
1、安装JDK
每种Android系统对此JDK的必要是不等同的,当前Android Open Source Project (AOSP)master分支上急需Java 8,在Ubuntu上得以设置OpenJDK。
其它分支对于JDK的须求 Java JDK:
Java 7: for Lollipop through Marshmallow
Java 6: for Gingerbread through KitKat
Java 5: for Cupcake through Froyo
那边已编写翻译基特Kat为例,下载JDK6,由于官方网站下载必要填写账号音讯,由此这里给出叁个百度云的链接 http://pan.baidu.com/s/1nuo3XNj 下载完毕后,记得加上到碰着变量

2、 下载编写翻译所需工具
Ubuntu系统版本是14.04的,具体的本子要求设置哪些工具得以查询 https://source.android.com/source/initializing.html

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip

标准编写翻译

1、设置编写翻译情状变量
开始化情况变量

source build/envsetup.sh

或者

. build/envsetup.sh

2、选拔编译目的

lunch aosp_arm-eng

类型表达

user          limited access; suited for production
userdebug     like "user" but with root access and debuggability; preferred for debugging
eng         development configuration with additional debugging tools

3、使用ccache
加紧编写翻译的事物,指出大小 50-100G

export USE_CCACHE=1
export CCACHE_DIR=/<path_of_your_choice>/.ccache
prebuilts/misc/linux-x86/ccache/ccache -M 50G

4、编译

make -j<你CPU的核心数乘以2> 如:make -j8

经过长时间的编写翻译时间

5、模拟器运营
直白在调控台运行,在编写翻译的工程中此命令或机关增加随地境变量中

emulator

模拟器运行起来后,就能够看出刚编写翻译好的image

合法编写翻译教程 https://source.android.com/source/index.html [需翻墙]

本文由澳门唯一金莎娱乐发布于www.3015.com,转载请注明出处:[Android] Ubuntu下Android源码编译

关键词:

上一篇:最值得推荐(二)|实用学习网站和软件

下一篇:没有了