您的位置:首页 > 移动开发 > Android开发

Mac 10.10 下载、编译android4.4过程及注意事项

2015-11-13 14:20 489 查看
注:本次过程是在翻墙的情况下实现的。

参考https://source.android.com/source/initializing.html文档步骤执行:

1、创建磁盘镜像80g(在该镜像里下载、编译android源码)

hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/android.dmg

2、安装jdk(jdk6用于编译,jdk7用于下载)

3、安装Xcode最好是4以下,如果安装的XCode为5以上,则在编译时,需要修改几处文件。

4、安装MacPorts。

5、使用MacPorts安装make, git, and GPG。

6、如果make的版本是3.8.2,需要降级到3.8.1。

7、修改文件标识符限制。

8、配置缓存,(用于加速编译)。

9、安装repo。

10、初始化android版本下载manifest

11、下载。

12、编译。

下面说下在这里面遇到的问题及解决方法:

1、初始化android版本下载manifest后,在.repo文件夹下面的manifest.xml文件中,fetch=".."修改为fetch="https://android.googlesource.com/" 。否则无法下载源码。

2、下载源码时,由于网络原因,经常后掉线,导致停止下载。每次repo sync很麻烦,可以生成一个.sh文件,自动处理这个情况。

#!/bin/bash

PATH=~/bin:$PATH

repo sync

while [ $? = 1 ]; do

echo "================sync failed, re-sync again ====="

sleep 3

repo sync

done

注意:**

为SDL打源码补丁,为什么g神们就没打上补丁呢,只好我们自己来修改源码,参考补丁地址是http://hg.libsdl.org/SDL/changeset/bbfb41c13a87,在源码目录找到并打开文件./external/qemu/distrib/sdl-1.2.15/src/video/quartz/SDL_QuartzVideo.h,找到CGDirectPaletteRef
palette所在行数,前后加入判断,如下:

#if (MAC_OS_X_VERSION_MIN_REQUIRED < 1070)
CGDirectPaletteRef palette;            /* palette of an 8-bit display */
 #endif


3、Xcode版本问题。(Xcode5以下版本无视下面)

1)
Can not find SDK 10.6 at /Developer/SDKs/MacOSX10.6.sdk

修改方法为:
//前提是你在WORKING_DIRECTORY目录下
$ vi build/core/combo/HOST_darwin-x86.mk
//找到mac_sdk_versions_supported
mac_sdk_versions_supported :=  10.6 10.7 10.8
//将上面这行换成
mac_sdk_versions_supported :=  10.9 10.10
//就是换一下支持的sdk版本号。

2)
external/chromium_org/base/android/jni_generator/jni_generator.py
p = subprocess.Popen(args=['cpp', '-fpreprocessed'], 修改为:
[code]system = platform.system()
if system == 'Darwin':
cpp_args = ['cpp']
else:
cpp_args = ['cpp', '-fpreprocessed']
p = subprocess.Popen(args=cpp_args,


3)
build/core/combo/HOST_darwin-x86.mk

ifeq ($(mac_sdk_version),10.8)
修改为
ifeq ($(mac_sdk_version),10.9)

[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: