转载自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:= −−gcc−toolchain=(
(
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。