我能够将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?
我错过了什么?我该怎么办?
答案 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)
并在build/core/combo/mac_version.mk
中为支持版本添加10.11为我工作
答案 2 :(得分:2)
在El Capitan,这些建议都不适合我。我必须做以下事情:
sudo xcode-select -s /Volumes/Xcode/Xcode.app/Contents/Developer
lunch
make -j8
其他建议都没有对我有用。建造(和祈祷)目前正在进行中。
另见: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)