我正在尝试为 Nexus 5x 构建 AOSP (Oreo)。我正在 Ubuntu 14.04 上构建。
我去了https://source.android.com/source/requirements并安装了所有要求。我什至卸载了我的 OpenJDK8 (161) 版本,转而使用网站上的 45 版本。通过使用 sudo update-alternatives --all,我确保所有与 java 相关的命令都指向此版本的 java 8。
我从 https://developers.google.com/android/blobs-preview 获得了二进制预览 blob并在获得 AOSP 后解压/运行。
来自内部版本号页面 https://source.android.com/source/build-numbers我发现nexus 5X的版本是OPR6.170623.013,对应分支android-8.0.0_r4。
因此,我 repo init -b android-8.0.0_r4,然后进行 repo 同步,然后提取我的二进制图像(按预期将它们放置在供应商中)。然后我吃了一顿午餐,选择 aosp-bullhead-userdebug (选项 25),然后 make -j8。
经过一个多小时的构建后,许多 java 文件的构建失败(81 个错误),并出现以下错误。
“错误:UTF-8 的不可映射字符编码//?2016 年及更高版本:Unicode, Inc. 和其他。”
有谁知道如何解决此构建错误?
最佳答案
export LANG=en_US.UTF-8
rm -rf out/target/common/obj/JAVA_LIBRARIES
make -j16
答案是从页面Problems building android-8.0.0_r4 branch修改的,它对我有用(android-8.1.0_r15)
关于java - 如何修复 Oreo 的 AOSP 构建错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45986714/