OS X下Android ROM编译错误信息和解决方案汇总

OS X下Android ROM编译错误信息和解决方案汇总
0

#1

最近笔记本换了Mac,方便出门在外的闲的没事儿的时候撸代码。
这里留个帖子记录下环境搭建和编译时遇到的错误,供大家参考。

错误信息:
find: -printf: unknown primary or operator
错误原因:
For those of you using Mac OS X, option -printf is not available on BSD find (you will get this error: find: -printf: unknown primary or operator). Fortunately you can Install GNU find through Homebrew (there should be an option to Fink and Macports as well):
解决方案:
终端安装findutils

$ brew install findutils

错误信息:
GNU sed is required for Darwin builds, please install and add ‘gsed’ to the path
错误原因:Mac OS X编译需要用到gsed
解决方案:
终端安装gnu-sed

$ brew install gnu-sed

错误信息:
line xx: exec: xz: not found
错误原因:xz 是一个使用 LZMA压缩算法的无损数据压缩文件格式,编译有些机型时会用的到。
解决方案:
前往此处下载并安装:http://macpkg.sourceforge.net/

你还需要安装coreutils:
$ brew install coreutils

编译需要导入环境变量:

$ export PATH=/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/gnu-sed/libexec/gnubin:/usr/local/opt/curl/bin:$PATH


#2

:rofl::rofl::rofl::rofl::rofl::rofl:


#3

请用mac OS 的大佬帮我看看,

FAILED: /bin/bash -c "prebuilts/misc/darwin-x86/bison/bison -d  --defines=/Volumes/for_mac/mkn/out/host/darwin-x86/obj/STATIC_LIBRARIES/libaidl-common_intermediates/aidl_language_y.h -o /Volumes/for_mac/mkn/out/host/darwin-x86/obj/STATIC_LIBRARIES/libaidl-common_intermediates/aidl_language_y.cpp system/tools/aidl/aidl_language_y.yy"
[  0% 155/48163] host C++: libchrome_32 <= external/libchrome/base/command_line.cc
ninja: build stopped: subcommand failed.
make: *** [ninja_wrapper] Error 1

macOS 10.13.1
Xcode Version 8.3.3 (8E3004b)

网上搜了一下没找到解决方法


#4

需要切换shell?


#5

这应该是 prebuilts 里的 bison 不兼容 macOS 10.13 新引入的一些安全限制。

如果是 MK72.1 的话试试先 export USE_HOST_BISON=yes 再跑编译。

如果是 Oreo 的话,暂时要先手动给 external/bison 打上补丁,然后把 build/snoogbuild/make 里相应的路径都换成 out 里的,或者换成你电脑上自己 brew install bison 装的版本…


#7

导演。。想问下这个具体怎么改,不知道打补丁是什么。。。。现在osx下编译8.1遇到bison的错了,求解


#8

https://groups.google.com/forum/#!msg/android-building/D1-c5lZ9Oco/V9yPowRdCAAJ


#9

龙猪大佬,编译的时候遇到这个问题怎么解决呢:

Could not find a supported mac sdk: ["10.10" "10.11" "10.12"]

mac 系统版本10.12.6
xcode版本9.2