MacBook编译Android源码,mac 10.13 编译 Android源码

编译环境:

mac os 10.13 xcode:Version 9.2 (9C40b)

jdk:1.8.0_151

源码版本:android-8.1.0_r1

编译过程中我碰到4个问题,前两个的解决方案详细可以看这里Mac 10.12 编译 Android 源码

第一个问题是找不到对应的MacOSX.sdk,比如找不到MacOSX10.12.sdk,你需要到 https://github.com/phracker/MacOSX-SDKs/releases 下载需要的版本,我这里下载的是MacOSX10.12.sdk,解压复制到如下目录

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs

第二个是找不到jdk,这个在根目录的.bash_profile文件中添加

export ANDROID_JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

接下来会碰到第三个问题,log如下如下,可能每个人显示的都不一样的,注意看是否有external/bison/这些log。

[ 3% 2279/59686] yacc

out/soong/.inte.../system/tools/aidl/aidl_language_y.cpp

FAILED:

out/soong/.intermediates/system/tools/aidl/libaidl-common/darwin_x8664static/gen/yacc/system/tools/aidl/aidl_language_y.cpp

out/soong/.intermediates/system/tools/aidl/libaidl-common/darwin_x8664static/gen/yacc/system/tools/aidl/aidl_language_y.h

BISON_PKGDATADIR=external/bison/data

prebuilts/misc/darwin-x86/bison/bison -d

--defines=out/soong/.intermediates/system/tools/aidl/libaidl-common/darwin_x8664static/gen/yacc/system/tools/aidl/aidl_language_y.h

-o out/soong/.intermediates/system/tools/aidl/libaidl-common/darwin_x8664static/gen/yacc/system/tools/aidl/aidl_language_y.cpp

system/tools/aidl/aidl_language_y.yy

[ 3% 2282/59686] lex

out/soong/.inter.../system/tools/aidl/aidl_language_l.cpp

ninja: build stopped: subcommand failed.

14:03:54 ninja failed with: exit status 1

make: *** [run_soong_ui] Error 1

解决方案如下:

Patch [bison fix](https://android-review.googlesource.com/c/platform/external/bison/+/517740) for High Sierra and build bison:

1. cd /Volumes/AOSP/external/bison

2. git cherry-pick c0c852bd6fe462b148475476d9124fd740eba160

3. mm

Replace prebuilt bison binary with patched binary

1. cp /Volumes/AOSP/out/host/darwin-x86/bin/bison /Volumes/AOSP/prebuilts/misc/darwin-x86/bison/

Build

1. make -j4

如果mm命令无法执行,需要回去执行以下命令

1. source build/envsetup.sh

2. lunch 之后回到external/bison目录

3. mm

第四个问题是Try increasing heap size with java option

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

剩下的就是编译和耐心等编译结束了。

参考链接:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值