Ubuntu编译Android源码入坑计

环境:(根据需要编译的源码的环境具体配置)
Android 7.1 依赖Java8
Ubuntu 16 / 64位系统(需要安装32位兼容库)
openjdk 8
32位兼容库

常规Android固件编译

1.首先
source ./build/envsetup.sh

2.然后
lunch
之后会出现选项 选择自己想要编译的

3.最后使用
make
即可。选择的编译服务器可适当根据处理器 使用 make -j4或j8或j16来编译。可大幅提升编译速度。(普通make 应该是 -j1速度很慢)

make
根据Makefile文件编译源代码、连接、生成目标文件、可执行文件。
make clean
清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件。
make install
将编译成功的可执行文件安装到系统目录中,一般为/usr/local/bin目录。
make dist
产生发布软件包文件(即distribution package)。这个命令将会将可执行文件及相关文件打包成一个tar.gz压缩的文件用来作为发布软件的软件包。
它会在当前目录下生成一个名字类似“PACKAGE-VERSION.tar.gz”的文件。PACKAGE和VERSION,是我们在configure.in中定义的AM_INIT_AUTOMAKE(PACKAGE, VERSION)。
make distcheck
生成发布软件包并对其进行测试检查,以确定发布包的正确性。这个操作将自动把压缩包文件解开,然后执行configure命令,并且执行make,来确认编译不出现错误,最后提示你软件包已经准备好,可以发布了。
make distclean
类似make clean,但同时也将configure生成的文件全部删除掉,包括Makefile文件。


坑1: code''prebuilts/misc/linux-x86/bison/bison: 没有那个文件或目录''

ubuntu 64位系统运行32位程序的问题,需要安装运行32位程序的兼容库
sudo apt-get install lib32ncurses5
sudo apt-get install lib32stdc++6


坑2:sudo apt-get install lib32ncurses5 安装不了

安装
sudo apt-get install bison


坑3:严重内部错误,exec of /usr/bin/m4 failed

安装
sudo apt-get install m4
sudo apt-get install libxml2-utils

继续挖坑 还编译出问题 继续看自己的库是不是还没装够

sudo apt-get install
g++-multilib
gcc-multilib
lib32ncurses5-dev
lib32readline-gplv2-dev
lib32z1-dev

Try increasing heap size with java option '-Xmx

编译内存不足,设置为4GB:

export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4g"
./prebuilts/sdk/tools/jack-admin kill-server
./prebuilts/sdk/tools/jack-admin start-server

你可能感兴趣的:(Ubuntu编译Android源码入坑计)