美文网首页
Mac 10.13.4下载编译Android 8.1.0源码流程

Mac 10.13.4下载编译Android 8.1.0源码流程

作者: From64KB | 来源:发表于2018-04-08 14:43 被阅读1696次

    1.设置 Mac OS 编译环境

    按照https://source.android.com/setup/initializing#setting-up-a-mac-os-x-build-environment 这里的配置步骤配置相关环境。友情提示,android.dmg的大小最好设置在150g以上,不然像我一样编译到一大半空间不够失败,又得重来,就只能一个人哭了。

    可能出现的问题:Error: gnupg has been deprecated. If you absolutely want to stay on the classic version, install the gnupg1 port. All other users are recommended to install gnupg2. gnupg过时。
    由于gnupg已经过时,如果要继续使用gnupg的话,改为下载gnupg1;Error中建议大家使用gnupg2,那么就用gnupg2。需要先关闭gnupg1的端口:

    POSIXLY_CORRECT=1 sudo port uninstall gnupg1
    POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg2
    

    2.下载源码

    详细的步骤在这里:https://source.android.com/setup/downloading
    这里应该没有什么大的问题,如果遇到和我一样选错版本分支的问题,那么重新输入新的版本的时候需要在新的命令行结尾添加--config来重新选择新的分支,例如 repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1 --config
    网速一般的话,大约2-3个小时左右即可下载完毕。

    3.准备编译源码

    按照这里:https://source.android.com/setup/building#obtaining-proprietary-binaries 一步一步走就好,执行到source build/envsetup.sh出现问题:
    build/envsetup.sh:648: command not found: complete WARNING: Only bash is supported, use of other shell would lead to erroneous results
    这里我用的是zsh,但是这个脚本需要在bash环境下执行,所以切换到bash环境下,直接在命令行中输入:chsh -s /bin/bash,打开新的命令行窗口,就可以正常执行。

    make -j8后出现报错:internal error: Could not find a supported mac sdk: ["10.10" "10.11" "10.12"] ninja: build stopped: subcommand failed.解决方法:到https://github.com/phracker/MacOSX-SDKs/releases下载10.10-10.12任意一个版本,解压到/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs并创建对应的快捷方式:例如下载的是10.12 那么执行sudo ln -s MacOSX10.12 MacOSX10.12.sdk。再次执行,可以通过编译。

    编译过程中出现:ninja: build stopped: subcommand failed.,编译失败。
    解决方法:Patch bison fix for High Sierra and build bison:

    1. cd /Volumes/AOSP/external/bison
    2. git cherry-pick c0c852bd6fe462b148475476d9124fd740eba160
    3. mm
    

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

    1. source build/envsetup.sh
    2. lunch 相应版本之后回到external/bison目录
    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  -j8
    

    等风扇呼呼结束,就可以了。


    image.png

    看到这张图就是编译完成了。在MacBookPro 15款15寸乞丐版上编译完成大约需要13-14小时左右。

    参考文章:https://blog.csdn.net/yishon_android/article/details/51726676
    https://blog.csdn.net/dengjiamingcsu/article/details/79695657
    https://www.jianshu.com/p/35f840dd7869
    https://www.jianshu.com/p/367f0886e62b

    相关文章

      网友评论

          本文标题:Mac 10.13.4下载编译Android 8.1.0源码流程

          本文链接:https://www.haomeiwen.com/subject/thcphftx.html