ubuntu18编译Android5.1源码报错及解决方案集合

转载自https://www.codenong.com/cs106492163/
一、“You asked for an OpenJDK 7 build but your version is java version “1.7.0_72” Java™ SE”

解决方法:

1、、下载OpenJDK7:https://jdk.java.net/java-se-ri/7

在这里插入图片描述

2、sudo tar zxvf openjdk-7u75-b13-linux-x64-18_dec_2014.tar.gz -C /opt

3、# 修改profile文件
sudo gedit /etc/profile

加入下面的配置

export JAVA_HOME=/opt/java-se-7u75-ri
export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib: J R E H O M E / l i b e x p o r t P A T H = {JRE_HOME}/lib export PATH= JREHOME/libexportPATH={JAVA_HOME}/bin:$PATH

更新profile文件

source /etc/profile

4、java -version查看版本号

在这里插入图片描述

5、修改envsetup.sh文件

a、sudo gedit build/envsetup.sh

b、刚才解压的jdk路径粘贴到下方的 JAVA_HOME 变量中

6、修改main.mk文件

sudo gedit build/core/main.mk

注释掉第 171 行的终止命令 :

$(error stop)

二、“make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp] 已放弃 (core dumped)”

解决方法:

export LC_ALL=C

三、“make: *** [out/host/linux-x86/obj32/lib/libc++.so] Error 1”

解决方法:

1、art/build/Android.common_build.mk中把true改为false

Host.

ART_HOST_CLANG := false
ifneq ($(WITHOUT_HOST_CLANG),false)    #ture—>false

By default, host builds use clang for better warnings.

ART_HOST_CLANG := ture
endif

2、 执行命令,更改链接指向

ln -sf /usr/bin/ld.gold prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld

四、 “make: *** [out/host/linux-x86/obj32/lib/libcompiler_rt.so] Error 1”

解决方法:
在build/core/clang/Host_x86_common.mk 的第7 - 11行左右位置
ifeq ( ( H O S T O S ) , l i n u x ) C L A N G C O N F I G x 8 6 L I N U X H O S T E X T R A A S F L A G S : =   − − g c c − t o o l c h a i n = (HOST_OS),linux) CLANG_CONFIG_x86_LINUX_HOST_EXTRA_ASFLAGS := \ --gcc-toolchain= (HOSTOS),linux)CLANGCONFIGx86LINUXHOSTEXTRAASFLAGS:= gcctoolchain=( ( c l a n g 2 n d a r c h p r e f i x ) H O S T T O O L C H A I N F O R C L A N G )   − − s y s r o o t = (clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG) \ --sysroot= (clang2ndarchprefix)HOSTTOOLCHAINFORCLANG) sysroot=( ( c l a n g 2 n d a r c h p r e f i x ) H O S T T O O L C H A I N F O R C L A N G ) / s y s r o o t   − B (clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \ -B (clang2ndarchprefix)HOSTTOOLCHAINFORCLANG)/sysroot B($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/bin
-no-integrated-as

添加 -B ( ( ((clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/bin \ 这行

五、“make: *** [out/host/linux-x86/obj32/lib/libnativehelper.so] Error 1”

解决方法:

source_android代表你的android源码根目录

1、cd/art/build/
vim Android.common_build.mk //修改第119行
修改前:

Host.

ART_HOST_CLANG := false
ifneq ($(WITHOUT_HOST_CLANG),true)

By default, host builds use clang for better warnings.

ART_HOST_CLANG := true
endif
修改后:

Host.

ART_HOST_CLANG := false
ifneq ($(WITHOUT_HOST_CLANG),false)

By default, host builds use clang for better warnings.

ART_HOST_CLANG := true
endif

2、经过第一次修改之后发现编译还是报同样的错误,执行下面:

cp /usr/bin/ld.gold/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld

3、修改过上述代码后,最好执行一次make update-api,再make。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值