1准备Android编译环境
需要安装编译过程中的依赖的其他第三方库。
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip
2编译Android源码
source build/envsetup.sh

lunch full-eng

make -j4,为CPU内核数,能提高编译效率。

编译报错如下:

处理方法:删除目录sdm845(参考https://groups.google.com/forum/?nomobile=true#!topic/android-building/k5RKBPNGMrg)
![]()
编译报错:
ninja: build stopped: subcommand failed.
执行命令:
ulimit -c unlimited
执行如下命令(这个方法未生效):
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
大约几个小时,编译成功。

3、烧写Android镜像
sudo gedit /etc/profile
export ANDROID_PRODUCT_OUT=/home/jamie/android_source/out/target/product/maguro,
保存并退出 然后输入source /etc/profile使刚设置的环境变量立即生效。
fastboot flashall
4、修改systemui.apk
adb push <your apk path> /system/priv-app
本文详细介绍了如何编译Android源码和Linux内核,包括准备编译环境,解决编译过程中遇到的问题,如删除错误目录、设置内存限制、启动JACK服务器,以及烧写Android镜像的步骤。在编译过程中,遇到了ninja build失败的问题,通过调整配置最终成功完成编译。
904

被折叠的 条评论
为什么被折叠?



