2018-05-17 AOSP Build脚本

Google/Android


【转Goood】自己动手编译Android源码(超详细)
【转Good】第一次编译AOSP简单流程


JDK: openjdk-8-jdk
https://source.android.com/setup/build/requirements#jdk

$ java -version
    openjdk version "1.8.0_171"
    OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.16.04.1-b11)
    OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)

$ javac -version
    javac 1.8.0_171

HardDisk: 156G

$ du -sh android/
    156G    android/

Error 1
This error happens when using the wrong jdk version of openjdk-9-jdk.
Use openjdk-8-jdk will solve the problem.

   1 #
   2 # A fatal error has been detected by the Java Runtime Environment:
   3 #
   4 #  SIGSEGV (0xb) at pc=0x00007f84ef1a0304, pid=151912, tid=151989
   5 #
   6 # JRE version: OpenJDK Runtime Environment (9.0+181) (build 9+181-android4685155)
   7 # Java VM: OpenJDK 64-Bit Server VM (9+181-android4685155, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
   8 # Problematic frame:
   9 # V  [libjvm.so+0x942304]  PhaseLive::add_liveout(Block*, IndexSet*, VectorSet&)+0xe4
  10 #
  11 # Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P" (or dumping to /home/xy2/workspa     ce/git/aic/android/core.151912)
  12 #
  13 # If you would like to submit a bug report, please visit:
  14 #   http://bugreport.java.com/bugreport/crash.jsp
  15 #

Error 2
emulator: ERROR: Missing initial data partition file: /home/xy2/workspace/git/aosp/android/out/target/product/generic_arm64/userdata.img


Scripte

#!/bin/bash

# add variables
i1=0
if [ "$1" ]; then
    i1=$1
fi


# add functions
function prompt()
{
    read -p "$1 [YES/NO]: " input
}

# script name
function myecho0script()
{
    echo
    echo '==========================================================='
    echo "$1"
    echo '==========================================================='
    echo
}

# task title
function myecho1task()
{
    echo
    if [ "$1" ]; then
        # 蓝底白字
        echo -e "\033[44;37m --> $i1. $1\033[0m"
    fi
    i1=$[$i1+1]
}

# things title
function myecho2thing()
{
    echo
    # 红色字
    #echo -e "\033[31m - $1 \033[0m"
    # 绿色字
    echo -e "\033[32m - $1 \033[0m"
    # 红底白字
    #echo -e "\033[41;37m- $1\033[0m"
}

# steps title
function myecho3step()
{
    echo
    echo -e " * $1"
}

# reference title
function myecho4ref()
{
    echo
    echo -e "\t$1"
    echo
}

# highlight title
function myechoy()
{
    echo
    # 黄底黑字
    echo -e "\033[43;30m$1\033[0m"
    #echo -e "\t\t$1"
}

# call outside script
function mysource()
{
    (source $1 $i1)
    i1=$[$i1+1]
}


# new chapter

myecho1task 'Build AOSP 20180517'
myecho3step 'https://source.android.com/setup/'
myecho3step 'https://www.jianshu.com/p/367f0886e62b'
myecho3step 'https://blog.csdn.net/l465659833/article/details/62237541'

#-----------------------------------------------------------------
myecho2thing 'Prerequisites'
myecho3step 'apt-get install'
    prompt '[Proxy...] set proxy properly'
    #sudo apt-get install -y libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib 
    #sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386 
    #sudo apt-get install -y tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 
    #sudo apt-get install -y dpkg-dev libsdl1.2-dev libesd0-dev
    #sudo apt-get install -y git-core gnupg flex bison gperf build-essential  
    #sudo apt-get install -y zip curl zlib1g-dev gcc-multilib g++-multilib 
    #sudo apt-get install -y libc6-dev-i386 
    #sudo apt-get install -y lib32ncurses5-dev x11proto-core-dev libx11-dev 
    #sudo apt-get install -y libgl1-mesa-dev libxml2-utils xsltproc unzip m4
    #sudo apt-get install -y lib32z-dev ccache


#myecho2thing 'Repo'
#myecho3step 'install'
    #mkdir ~/bin
    export PATH=~/bin:$PATH
    #curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    #chmod a+x ~/bin/repo

    #git config --global user.name "abby0100"
    #git config --global user.email "yuan.xiong@intel.com"


myecho2thing 'AOSP'
myecho3step 'repository'
    # Google
    #repo init -u https://android.googlesource.com/platform/manifest
    #repo init -u https://android.googlesource.com/platform/manifest -b android-7.1.1_r6
    # tsinghua University
    #repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
    #repo init -u git://aosp.tuna.tsinghua.edu.cn/aosp/platform/manifest

    cd .repo/manifests/
    git branch
    git log -1
    #git branch -a | cut -d / -f 3
    #repo init -b android-7.1.1_r6
    cd -

#myecho3step 'sync'
    #repo sync
    #repo sync -cj16

myecho2thing 'JDK'
myecho3step 'openjdk-8-jdk'
    #prompt '[Install...] openjdk-8-jdk'
    #sudo add-apt-repository ppa:openjdk-r/ppa
    #sudo apt-get update
    #sudo apt-get install -y openjdk-8-jdk
myecho3step 'java'
    sudo update-alternatives --config java
    sudo update-alternatives --config javac


#-----------------------------------------------------------------
myecho2thing 'Make'
myecho3step 'env.'
    #make clobber
    #source build/envsetup.sh

myecho3step 'target'

    # For AOSP
    #lunch
    #lunch aosp_arm64-eng

    # For NuC
    #lunch multidroid_nuc-userdebug
    # For Server
    #lunch multidroid_cloud-userdebug

myecho3step 'make'
    #make -j16

    #prompt '#### build completed successfully (02:19:04 (hh:mm:ss)) ####'


#-----------------------------------------------------------------
myecho2thing 'Launch Emulator'
myecho3step 'env.'
    # not available
    #source build/envsetup.sh
    #lunch aosp_arm64-eng
    #emulator
    #emulator -gpu off


# new chapter
echo
#echo '==========================================================='
echo 'End'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 161,326评论 4 369
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,228评论 1 304
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,979评论 0 252
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,489评论 0 217
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,894评论 3 294
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,900评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,075评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,803评论 0 205
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,565评论 1 249
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,778评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,255评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,582评论 3 261
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,254评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,151评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,952评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,035评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,839评论 2 277

推荐阅读更多精彩内容