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

mac os x 10.11.5编译msm8916 android4.4.4

2016-07-18 22:18 447 查看
1.大小写敏感问题

 分区为大小写敏感分区

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

hdiutil attach ~/android.dmg.sparseimage -mountpoint /Volumes/android

cd /Volumes/android

2.jdk1.6 从苹果官网下载,oracle从jdk1.7才有os版。
http://download.csdn.net/detail/baimingyong007/9579631   

3.mac os x10.6 .因为xcdoe是最新版7.3.1 只有10.11sdk。

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

 最后下了xcode6.4,解决这个问题。

4.

system/core/include/log/log.h:38:20: error: stdarg.h: No such file or directory


这其实也是Xcode版本惹的祸!卧槽,Xcode咋这么多屁事呢,早知道装个低版本好了。解决方案怎么也没找到,最后不经意见让我发现了。原来还是在
build/core/combo/HOST_darwin-x86.mk
里面
ifeq ($(mac_sdk_version),10.8)
# Mac SDK 10.8 no longer has stdarg.h, etc
host_toolchain_header := $(HOST_TOOLCHAIN_ROOT)/lib/gcc/i686-apple-darwin$(gcc_darwin_version)/4.2.1/include
HOST_GLOBAL_CFLAGS += -isystem $(host_toolchain_header)
endif
else


看到了吧,他这里只判断了10.8。在10.8里面就已经没有
stdarg.h
了,那么在我们的10.9和10.10里面肯定也没有了。但是却没有走进这个判断。所以更改很简单,就是把10.8改成10.9。

5.

SyntaxError: Unable to find any JNI methods for org/chromium/ui/base/LocalizationUtils.

make: *** [out/target/product/M9PLUS/obj/GYP/shared_intermediates/ui/jni/LocalizationUtils_jni.h] Error 1

make: *** Waiting for unfinished jobs....

这个是由于xcode 版本问题。我下个、xcode5.1.1。

6.

vendor/qcom/opensource/kernel-tests/memory_prof/memory_prof.c:46:27: fatal error: linux/msm_ion.h: No such file or directory
adding the path to the kernel headers to common.mk (hardware/qcom/display/msm8226/common.mk in your case): common_includes += path_goes_here

7.

1
2
3
4
5
6
7
8
9
10
11
12
13
14

scripts/kconfig/conf --silentoldconfig Kconfig
CHK     include/linux/version.h
CHK     include/generated/utsrelease.h
UPD     include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL    scripts/checksyscalls.sh
HOSTCC  scripts/mod/mk_elfconfig
scripts/mod/mk_elfconfig.c:4:10: fatal error: 'elf.h' file not found
#include <elf.h>
^
1 error generated.
make[2]: *** [scripts/mod/mk_elfconfig] Error 1
make[1]: *** [scripts/mod] Error 2
make: *** [scripts] Error 2

这个问题是由于os x的系统include路径里面少了一个elf.h这个文件,到 
http://www.rockbox.org/tracker/9006?getfile=16683
 这个地方,把里面的内容保存成elf.h,放到内核源码的scripts/mod/下面即可。


顺便看到了作者遇到的第二个与
elf.h
有关的问题,

elf.h之前是因为在系统include库里面,现在放到了scripts/mod下面,编译.c文件的时候定义elf.h的时候有问题,想必会c的人都知道#include 和#include “elf.h” 的区别吧。把scripts/mod下面的mk_elfconfig.c,modpost.h这两个文件,开头前几行的#include 改成#include “elf.h”。
8.

make[5]: *** [/Volumes/untitled/android/out/target/product/M9PLUS/obj/KERNEL_OBJ/usr/include/../../drivers/staging/android/linux/.install] Error 1

make[4]: *** [linux] Error 2

make[3]: *** [../../drivers/staging/android/uapi] Error 2

make[2]: *** [headers_install] Error 2

make[1]: *** [sub-make] Error 2

make: *** [out/target/product/M9PLUS/obj/KERNEL_OBJ/usr] Error 2

make: *** Waiting for unfinished jobs....
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: