NOTICE 




  

Android NDK로 작성하는 라이브러리는 기본적으로 ARM CPU용으로 빌드된다. 다른 CPU용으로 빌드하고자 한다면 아래의 방법으로 할 수 있다.


1) 프로젝트의 jni폴더 아래에 Application.mk파일을 추가한다.

2) Application.mk파일에 APP_ABI를 추가하여 어떤 CPU용 라이브러리를 빌드할지를 지정한다.

만약 ARM CPU용과 Intel CPU용을 컴파일하고 싶다면 아래와 같이 Application.mk 파일을  추가하면 된다.



지정할 수 있는 CPU는 아래와 같다.

 armeabi

 ARM CPU(FPU를 갖고 있지 않음)

 armeabi-v7a

 ARM CPU(FPU를 갖고 있음) 

 x86

 Intel CPU 

 mips

 MIPS CPU

 all

 모든 CPU


어떤 CPU용의 라이브러리를 빌드할지 APP_ABI에 공백을 구분으로 쭉 열거해주면 된다.

만약 모든 CPU용의 바이너리를 빌드하려면 아래와 같이 그냥 all을 써주면 된다.

APP_ABI := all


NDK가 지원하는 CPU는 NDK docs폴더의 CPU-ARCH-ABIS.html를 보면 확인할 수 있다.


  
트랙백   |  댓글   |




  

안드로이드 NDK 개발환경을 구축하고 빌드를 하니 아래 에러가 발생했다.

ndk/build/gmsl/__gmsl:512: *** non-numeric second argument to `wordlist' function: ''.  Stop.

인터넷을 검색해 보니 많은 사이트에서AndroidManifest.xml파일의 minSdkVersion을 낮추라는 해결책이 많았다.


하지만 minSdfVersion을 낮추어도 해결이 되지 않았다.

그래서 더 인터넷을 검색해 본 결과 그 해결책을 찾을 수 있었다.

윈도우에서 작성한 파일을 맥으로 갖고 온 경우 개행문자로 CRLF가 그대로 남아 있게 된다.


AndroidManifest.xml파일을 열어보니 위와 같이 각 라인의 끝에 CR문자가 남아 있었다.

이 문자를 제거하고 빌드를 하니 빌드가 되었다.


이 귀중한 해결책을 찾을 수 있었던 곳은 바로

Tech Racho(http://techracho.bpsinc.jp/baba/2013_02_19/6520)

이다. baba님 정말 감사합니다.


역시 안드로이드는 넘 오묘해~~~


VI에디터에서 ^M문자 제거하는 방법

명령모드에서 

:%s/^M$//g

를 입력한다.

이때 주의할 점은 ^M은 반드시 Ctrl+V, Ctrl+M으로 입력해야 한다는 것이다.


  
트랙백   |  댓글   |
 이전  1   다음 

최근댓글
최근트랙백
fotowall :: ncloud RSS Feeds today :    yesterday :
total :