在Mac上运行AOSP构建(Yosemite及更高版本)

时间:2015-07-23 14:09:10

标签: android android-source

我能够将android-5.0.1_r1的源代码放到我的工作目录中。但是,我在模拟器上构建和运行代码时遇到了麻烦,因为午餐命令给我带来了麻烦。

repo has been initialized in /Volumes/AOSPDiskImage/AOSP
Nikhils-MBP:AOSP Nikhil$ . build/envsetup.sh
including device/asus/deb/vendorsetup.sh
including device/asus/flo/vendorsetup.sh
including device/asus/fugu/vendorsetup.sh
including device/asus/grouper/vendorsetup.sh
including device/asus/tilapia/vendorsetup.sh
including device/generic/mini-emulator-arm64/vendorsetup.sh
including device/generic/mini-emulator-armv7-a-neon/vendorsetup.sh
including device/generic/mini-emulator-mips/vendorsetup.sh
including device/generic/mini-emulator-x86/vendorsetup.sh
including device/generic/mini-emulator-x86_64/vendorsetup.sh
including device/lge/hammerhead/vendorsetup.sh
including device/lge/mako/vendorsetup.sh
including device/moto/shamu/vendorsetup.sh
including device/samsung/manta/vendorsetup.sh
including sdk/bash_completion/adb.bash
Nikhils-MBP:AOSP Nikhil$ lunch

You're building on Darwin

Lunch menu... pick a combo:
 1. aosp_arm-eng
 2. aosp_arm64-eng
 3. aosp_mips-eng
 4. aosp_mips64-eng
 5. aosp_x86-eng
 6. aosp_x86_64-eng
 7. aosp_deb-userdebug
 8. aosp_flo-userdebug
 9. full_fugu-userdebug
 10. aosp_fugu-userdebug
 11. aosp_grouper-userdebug
 12. aosp_tilapia-userdebug
 13. mini_emulator_arm64-userdebug
 14. mini_emulator_arm-userdebug
 15. mini_emulator_mips-userdebug
 16. mini_emulator_x86-userdebug
你想要哪个? [aosp_arm-eng]

每次,我都选择了其中一个选项,我不断收到如下消息:

Which would you like? [aosp_arm-eng] 6
build/core/combo/mac_version.mk:38:          
*****************************************************
build/core/combo/mac_version.mk:39: * Can not find SDK 10.6 at  
/Developer/SDKs/MacOSX10.6.sdk
build/core/combo/mac_version.mk:40: 
*****************************************************
build/core/combo/mac_version.mk:41: *** Stop..  Stop.

** Don't have a product spec for: 'aosp_x86_64'
** Do you have the right repo manifest?

我错过了什么?我该怎么办?

6 个答案:

答案 0 :(得分:7)

假设你在Yosemite遇到这个问题,这是一个已知的问题。

虽然目前还没有正式的解决方法,假设您已安装XCode,您应该可以通过符号链接当前的SDK来修复它:

sudo ln -s /Developer/SDKs/MacOSX10.10.sdk /Developer/SDKs/MacOSX10.6.sdk

然后修改build/core/combo/mac_version.mk,然后更改:

mac_sdk_versions_supported := 10.6 10.7 10.8

mac_sdk_versions_supported := 10.9 10.10

这只是Xcode版本控制的一个问题,以及之前硬编码到构建过程中的方式。

答案 1 :(得分:2)

Issue

并在build/core/combo/mac_version.mk中为支持版本添加10.11为我工作

答案 2 :(得分:2)

在El Capitan,这些建议都不适合我。我必须做以下事情:

  1. 从此处下载XCode 5.1.1:http://adcdownload.apple.com/Developer_Tools/xcode_5.1.1/xcode_5.1.1.dmg,其中包含SDK 10.8和10.9。
  2. sudo xcode-select -s /Volumes/Xcode/Xcode.app/Contents/Developer
  3. lunch
  4. make -j8
  5. 其他建议都没有对我有用。建造(和祈祷)目前正在进行中。

    另见:https://code.google.com/p/android/issues/detail?id=78396

    更新:这对我有效并且继续有效。唯一需要注意的是确保每次运行构建之前都安装了XCode DMG。一个小的shell脚本应该有助于自动化。

答案 3 :(得分:1)

感谢@JFKingsley指出我正确的方向。符号链接不起作用,因为我从来没有OSX的10.6 sdk。我认为这可能与我有XCode版本6.4的事实有关吗?但正如JFKingsley所说,编辑mac_version.mk文件的工作是什么。在emacs中打开文件然后进行编辑。

答案 4 :(得分:1)

我尝试了@JFKingsley提供的解决方案,这是我完全解决问题的说明:

通过查看/ Developer / SDKs /

来检查您拥有的SDK
##> ls  /Developer/SDKs/
MacOSX10.11.sdk  

不要创建从其他响应中建议的更高版本SDK到10.6的符号链接 - 因为它可能会在某些时候破坏编译。

相反,请修改build/core/combo/mac_version.mk

在此行中,编写已安装的SDK

mac_sdk_versions_supported := 10.11

这应该可以正确解决您的问题。

答案 5 :(得分:1)

对于macOS High Sierra

在build / core / combo / mac_version.mk中添加10.13对我有用 enter image description here

相关问题