--------------------------------------------------写在前面--------------------------------------------------

由于在编译过程中遇到了很多奇奇怪怪的、难解的问题~~~

到后面,实际上还是在macmini中安装了Ubuntu系统,最后在Ubuntu系统下完成的Android源码编译。

以下就是在OS X系统中进行编译时遇到的一些问题和解决办法,聊作记录。

--------------------------------------------------写在前面--------------------------------------------------

参考:Build Android 5.1.1 on OSX 10.10 Yosemite With Xcode7

一、环境配置

电脑:Mac Mini (OS X 10.10.5)

内存:2 GB 1333 MHz DDR3

XCode:XCode 7.1 beta

二、错误

(1)

select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

解决办法:

sudo xcode-select --switch /Applications/Xcode-beta.app

(2)

build/core/combo/mac_version.mk:: *****************************************************
build/core/combo/mac_version.mk:: * Can not find SDK 10.10 at /Developer/SDKs/MacOSX10..sdk
build/core/combo/mac_version.mk:: *****************************************************

解决办法:在build/core/combo/mac_version.mk文件中将mac_supported_versions 增加10.11

mac_sdk_versions_supported :=  10.6 10.7 10.8 10.9 10.10 10.11

(3)

build/core/main.mk:: ************************************************************
build/core/main.mk:: You are building on a case-insensitive filesystem.
build/core/main.mk:: Please move your source tree to a case-sensitive filesystem.
build/core/main.mk:: ************************************************************
build/core/main.mk:: *** Case-insensitive filesystems not supported. Stop.

Android源代码必须在大小写敏感的文件系统下编译,而Mac OS默认不是大小写敏感的,因此需要创建一个大小写敏感的磁盘分区。

解决办法:

使用磁盘工具分出一个格式为(MAC OS 日志式、区分大小写)的分区。

出现“分区无法验证”的错误提示“无法分区”时,重启电脑,在电脑一启动时按下COMMAND+S不动,进入单用户模式,输入fsck -f命令,修复磁盘后,输入reboot重启电脑,再次用磁盘工具进行分区即可。

(4)

host C++: validatekeymaps <= frameworks/base/tools/validatekeymaps/Main.cpp
<built-in>:: error: Unknown value ‘10.11’ of -mmacosx-version-min
In file included from system/core/include/cutils/log.h:,
from system/core/include/utils/KeyedVector.h:,
from frameworks/native/include/input/Input.h:,
from frameworks/native/include/input/KeyCharacterMap.h:,
from frameworks/base/tools/validatekeymaps/Main.cpp::
system/core/include/log/log.h::: error: stdarg.h: No such file or directory
make: *** [out/host/darwin-x86/obj32/EXECUTABLES/validatekeymaps_intermediates/Main.o] Error

解决办法:

在build/core/combo/HOST_darwin-x86.mk里面,增加10.10 10.11的判断:

ifneq ($(filter 10.8 10.9 10.10 10.11, $(mac_sdk_version)),)
# Mac SDK 10.8+ no longer has stdarg.h, etc
host_toolchain_header := $($(combo_2nd_arch_prefix)HOST_TOOLCHAIN_ROOT)/lib/gcc/i686-apple-darwin$(gcc_darwin_version)/4.2./include
$(combo_2nd_arch_prefix)HOST_GLOBAL_CFLAGS += -isystem $(host_toolchain_header)
endif

(5)

<built-in>:: error: Unknown value ‘10.11’ of -mmacosx-version-min
make: *** [out/host/darwin-x86/obj32/EXECUTABLES/validatekeymaps_intermediates/Main.o] Error

解决办法:

下载低版本的XCode(XCode 6.1.1),获取OS X 10.9的SDK.

OS X 10.10.5编译Android5.1.1源码的更多相关文章

  1. Ubuntu14.04编译Android5.1.1源码

    1.Ubuntu环境配置 硬盘:120G 内存:4G 注:配置很重要,直接影响能否编译成功. 2.安装JDK sudo apt-get update sudo apt-get install open ...

  2. 编译最新版webrtc源码和编译好的整个项目10多个G【分享】

    编译最新版webrtc源码和编译好的整个项目10多个G[分享] 参考https://webrtc.org/native-code/development/编译最新版webrtc源码: Git clon ...

  3. 编译hadoop2.2.0源码时报错

    编译hadoop2.2.0源码时, mvn install -DskipTests 报错: [ERROR] COMPILATION ERROR : [INFO] ------------------- ...

  4. Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决

    昨晚在编译源码,make一段时间之后报错如下: # A fatal error has been detected by the Java Runtime Environment: # # SIGSE ...

  5. 基于Ubuntu 14.04 LTS编译Android4.4.2源码

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS ...

  6. [Android 编译(一)] Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程

    本文转载自:[Android 编译(一)] Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程 1 前言 经过3天奋战,终于在Ubuntu 16.04上把Android 6. ...

  7. Spring源码学习01:IntelliJ IDEA2019.3编译Spring5.3.x源码

    目录 Spring源码学习01:IntelliJ IDEA2019.3编译Spring5.3.x源码 前言 工欲善其事必先利其器.学习和深读Spring源码一个重要的前提:编译源码到我们的本地环境.这 ...

  8. Spring源码解析 | 第一篇 :IntelliJ IDEA2019.3编译Spring5.3.x源码

    前言 工欲善其事必先利其器.学习和深读Spring源码一个重要的前提:编译源码到我们的本地环境.这样方便我们在本地环境添加注释.断点追踪.查看类或接口的继承关系等等,更加高效的学习Spring源码.个 ...

  9. [实践] Android5.1.1源码 - 在Framework中添加自定义系统服务

    前言 本文的方法要修改Android源码.但只要将系统服务写出来,也可以注入system_server进程将系统服务加载到system_server中. 步骤 1. 添加一个aidl文件,我将aidl ...

随机推荐

  1. 【Beta】Daily Scrum 第二天

    [目录] 1.任务安排 2.Burndown Chart 3.代码check-in 4.困难及总结 1.任务安排 学号尾数 昨天做的任务 今天做的任务 明天要做的任务 612 添加计时界面返回按键事件 ...

  2. POJ1080Human Gene Functions(LCS变形)

    题目链接 题目:给出两个串,每匹配一种有一种权值,求权值最大的匹配串 就是 最长公共子序列的 的思想: 首先对于 i 和 j 来比较, 一种情况是i和j匹配,此时 dp[i][j] = dp[i - ...

  3. 简单的angular表单验证指令

    <html ng-app="myApp"> <head> <meta charset="UTF-8"> <title& ...

  4. 横竖屏切换时,Activity的生命周期

    横竖屏切换时,Activity的生命周期 1.新建一个Activity,并把各个生命周期打印出来 2.运行Activity,得到如下信息 onCreate-->onStart-->onRe ...

  5. centos7.2安装paramiko报error: command 'gcc' failed with exit status 1的解决办法

    安装依赖 yum install kernel-devel libxslt-devel libffi-devel python-devel mysql-devel zlib-devel openssl ...

  6. pc端,自适应屏幕分辨率

    前端开发框架Bootstrap  网址:http://www.dnzs.com.cn/w3cschool/bootstrap/bootstrap-tutorial.html 需要加入代码 <sc ...

  7. 项目管理知识框架PMBOK(文字版)

    项目管理知识框架PMBOK   项目整体管理[I](Integration) 1. 制定项目章程(Develop Project Charter) 2. 制定项目初步范围说明书(Develop Pre ...

  8. Mac安装Brew

    安装命令如下:curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip ...

  9. System.out.println与System.err.println的区别(输出顺序!!!)

    System.out.println与System.err.println的区别(输出顺序!!!) 分类:java (208)  (0) System.out.println与System.err.p ...

  10. win8.1企业版 IIS8.5 安装php5.5.18详细图文

    最近为了做测试需要在电脑上安装php 环境如下 系统 win8.1 企业版 IIS 8.5 PHP:5.5.18 php-5.5.18-nts-Win32-VC11-x64 完整文件名 注意IIS 下 ...