Ubuntu18.04 编译Android 8.1 源码出现的问题及解决笔记
经过不断的尝试并经过一晚上的编译终于在ubuntu18.04的虚拟机内编译成功Android 8.1,下面我列举以下在编译项目是遇到的问题及解决办法
错误一
错误二
错误三
错误四
编译步骤:
以上编译步骤是在我的环境内操作的步骤,请大家根据自己的配置环境进行相应的变通。
经过不断的尝试并经过一晚上的编译终于在ubuntu18.04的虚拟机内编译成功Android 8.1,下面我列举以下在编译项目是遇到的问题及解决办法
错误一
unable to open output file 'out/soong/.intermediates/frameworks/av/media/libstagefright/codecs/m4v_h263/dec/libstagefright_m4vh263dec/android_arm_armv7-a-neon_cortex-a7_static_core/obj/frameworks/av/media/libstagefright/codecs/m4v_h263/dec/src/vop.o': 'Permission denied'
1 error generated.
[ 0% 4/58014] Ensuring Jack server is installed and started
Jack server already installed in "/home/siyujie/.jack-server"
Launching Jack server java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -XX:+TieredCompilation -cp /home/siyujie/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncher
ninja: build stopped: subcommand failed.
06:23:37 ninja failed with: exit status 1
从关键信息中我们看到 “Permission denied ”,操作文件权限失败
解决方案:
执行 su 命令切换到 ROOT 用户下面重新进行编译。
错误二
Aborted (core dumped)
[ 5% 3239/63193] target StaticLib: li...IES/libv8src_intermediates/libv8src.a)
ninja: build stopped: subcommand failed.
14:04:56 ninja failed with: exit status 1
build/core/main.mk:21: recipe for target 'run_soong_ui' failed
make: *** [run_soong_ui] Error 1
解决方案:
在make之前调用 export LC_ALL=C
错误三
ninja: build stopped: subcommand failed.
解决方案:
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-serve
错误四
该错误没有记录下来错误的日志,暂时先记录解决的办法,下次遇到错误日志再补充完整
解决方案:
sudo apt-get install clang"
sudo apt-get install cmake
编译步骤:
进入Android源码目录 cd android/source
执行sh命令 source ./build/envsetup.sh
执行lunch命令查看支持编译列表 lunch
根据列表选择想要编译的选项编码;
输入完成后执行make命令进行编译 make -j4
等待编译完成。
以上编译步骤是在我的环境内操作的步骤,请大家根据自己的配置环境进行相应的变通。