环境:android_9.0.0_r46 Ubuntu20.04

1.

是python版本问题,必须python2,服务器不给sudo,我只好这么改了。

1
2
3
4
5
6
$ ln -s  /usr/bin/python2.7 ./python
$ PATH=~/bin:$PATH
$ python
Python 2.7.18 (default, Aug 4 2020, 11:16:42)
[GCC 9.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.

2.

1
2
3
4
将./external/iptables/include/linux/netfilter_ipv4/ipt_ECN.h中的
#include <linux/netfilter/xt_DSCP.h>
改成
#include <linux/netfilter/xt_dscp.h>

3.

又是因为没有sudo,联系管理员加了个/usr/bin/python

4.

1
export LC_ALL=C

还得make clean一下

5.

把所有package和framework里的Android.mk里的LOCAL_JNI_SHARED_LIBRARIES改为LOCAL_SHARED_LIBRARIES。

1
2
3
4
5
6
7
8
9
10
11
$ find . |grep Android.mk|xargs cat |grep LOCAL_JNI_SHARED_LIBRARIES
LOCAL_JNI_SHARED_LIBRARIES := libjni_terminal
LOCAL_JNI_SHARED_LIBRARIES := libframesequence libgiftranscode
LOCAL_JNI_SHARED_LIBRARIES := libnfc_nci_jni
LOCAL_JNI_SHARED_LIBRARIES := libtunertvinput_jni
LOCAL_JNI_SHARED_LIBRARIES := libjni_legacymosaic
LOCAL_JNI_SHARED_LIBRARIES := \
LOCAL_JNI_SHARED_LIBRARIES := libjni_latinime
LOCAL_JNI_SHARED_LIBRARIES := libdexmakerjvmtiagent
$ find . |grep Android.mk|xargs sed -i 's/LOCAL_JNI_SHARED_LIBRARIES/LOCAL_SHARED_LIBRARIES/'
$ find . |grep Android.mk|xargs cat |grep LOCAL_JNI_SHARED_LIBRARIESat |grep LOCAL_JNI_SHARED_LIBRARIES

end

第一次编译这么大型的东西,感觉真的挺考验耐心的,尤其是改报错还要等待很长时间才能知道自己的改没改对,有时候改了半天发现再运行一次就不报错了(这时候大概是因为内存不够?)。

successful是多么美妙~