编译android 7.1 jdk版本,ubuntu14.04安装open-jdk-1.8,下载编译android nougat 7.1.1

一,ubuntu14.04 安装 open-jdk-1.8

在 ubuntu 下,把jdk 解压到 /usr/lib/jvm/ 目录下,配置环境变量,就ok.

下面是我已经安装的jdk

crg@crg-pc:/usr/lib/jvm$ ll

3580f81d129c04d2dbbbce407a535d2f.png

现在安装 JDK1.8:

终端命令行:

添加软件源

sudo add-apt-repository ppa:openjdk-r/ppa

更新源

sudo apt-get update

安装 openjdk-8-jdk

sudo apt-get install openjdk-8-jdk

我安装后的文件目录如下:

c4cefb28c4b11b0395ca836405e6acac.png

目前我安装了6个版本的 jdk:

使用那个版本的jdk,就在环境变量配置那个版本,管理方便

我在 ~/.bashrc 里面配置:

crg@crg-pc:~$ vim .bashrc

# export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

export PATH=${CLASSPATH}:$PATH

export ANDROID_HOME=/home/crg/develop/Sdk

export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH

export GRADLE_HOME=/home/crg/develop/package/android-studio/gradle/gradle-2.10

export PATH=$GRADLE_HOME/bin:$PATH

# export REPO_HOME=/usr/local

export REPO_HOME=/home/crg

export PATH=$REPO_HOME/bin:$PATH

在 .bashrc 文件结尾,配置的我电脑的环境变量,管理方便,修改完成,执行

source .bashrc

修改的环境变量生效,验证如下:

crg@crg-pc:~$ java -version

openjdk version "1.8.0_111"

OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-3~14.04.1-b14)

OpenJDK 64-Bit Server VM (build 25.111-b14, mixed mode)

crg@crg-pc:~$ javac -version

javac 1.8.0_111

crg@crg-pc:~$

寻找某个命令的安装目录,执行如下:

crg@crg-pc:~$ which java

得到Java 安装目录:

/usr/lib/jvm/java-8-openjdk-amd64/bin/java

二,编译 android 源码

启动编译环境

crg@crg-pc:~/neolink_source/nougat_7.1_api_25$ . build/envsetup.sh

lunch 选择一个分支编译

crg@crg-pc:~/neolink_source/nougat_7.1_api_25$ lunch

You're building on Linux

Lunch menu... pick a combo:

1. aosp_arm-eng

2. aosp_arm64-eng

3. aosp_mips-eng

4. aosp_mips64-eng

5. aosp_x86-eng

6. aosp_x86_64-eng

7. full_fugu-userdebug

8. aosp_fugu-userdebug

9. mini_emulator_arm64-userdebug

10. m_e_arm-userdebug

11. m_e_mips64-eng

12. m_e_mips-userdebug

13. mini_emulator_x86_64-userdebug

14. mini_emulator_x86-userdebug

15. aosp_dragon-userdebug

16. aosp_dragon-eng

17. aosp_marlin-userdebug

18. aosp_sailfish-userdebug

19. aosp_flounder-userdebug

20. aosp_angler-userdebug

21. aosp_bullhead-userdebug

22. hikey-userdebug

23. aosp_shamu-userdebug

Which would you like? [aosp_arm-eng] 1

执行 make -j4 开始编译

出现如下,编译完成

#### make completed successfully (01:45:59 (hh:mm:ss)) ####

编译的 img 文件位置:

out/target/product/generic

884K    ./recovery

4.0K    ./previous_build_config.mk

22M ./userdata.img

11M ./data

72K ./installed-files.txt

1.8G    ./system.img

4.0K    ./cache

1.3M    ./ramdisk.img

4.0K    ./android-info.txt

4.0K    ./build_fingerprint.txt

5.1M    ./cache.img

15G ./obj

473M    ./system

149M    ./gen

2.4M    ./root

3.0G    ./symbols

72K ./clean_steps.mk

74M ./dex_bootjars

920K    ./module-info.json

20G .

三,编译 SDK

crg@crg-pc:~/neolink_source/nougat_7.1_api_25$ lunch sdk-eng

============================================

PLATFORM_VERSION_CODENAME=REL

PLATFORM_VERSION=7.1.1

TARGET_PRODUCT=sdk

TARGET_BUILD_VARIANT=eng

TARGET_BUILD_TYPE=release

TARGET_BUILD_APPS=

TARGET_ARCH=arm

TARGET_ARCH_VARIANT=armv7-a

TARGET_CPU_VARIANT=generic

TARGET_2ND_ARCH=

TARGET_2ND_ARCH_VARIANT=

TARGET_2ND_CPU_VARIANT=

HOST_ARCH=x86_64

HOST_2ND_ARCH=x86

HOST_OS=linux

HOST_OS_EXTRA=Linux-4.2.0-42-generic-x86_64-with-Ubuntu-14.04-trusty

HOST_CROSS_OS=windows

HOST_CROSS_ARCH=x86

HOST_CROSS_2ND_ARCH=x86_64

HOST_BUILD_TYPE=release

BUILD_ID=NOF26W

OUT_DIR=out

============================================

crg@crg-pc:~/neolink_source/nougat_7.1_api_25$ make sdk -j4

四,编译过程出现的异常情况

编译源码和SDK 都可能出现 out of memory 编译中断:

解决办法

export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m"

out/host/linux-x86/bin/jack-admin kill-server

out/host/linux-x86/bin/jack-admin start-server

再执行 make 编译

我笔记本 6G 内存,编译源码和SDK都出现了此问题。

五,Android 新一代编译 toolchain Jack & Jill 简介

Android 7.1 源码编译器用 新的 JACK 代替以前的 javac/dx/ProGuard/jarjar toolchain

具体参考链接

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值