2016-07-26 2 views
2

Android.mk로 new externalNativeBuild를 사용하여 NDK 프로젝트를 설정하려고하지만 컴파일 할 때 다른 결과가 나타납니다. Android Studio를 통해 명령 줄에서. Android Studio가 사용하고있는 툴체인을 확인하려고하지만 새로운 구문을 사용하여 지정하는 방법을 알 수 없습니다.Android NDK : Android Studio 2.2, gradle 및 externalNativeBuild + Android.mk가 포함 된 clang 툴체인

지금까지, 내 ​​Application.mk에

I 앱/SRC/메인/CPP의 이름을 변경하는 경우 NDK_TOOLCHAIN_VERSION := clang을 추가 한 -> 응용 프로그램/SRC/메인/JNI를하고, 명령 줄에서 NDK 빌드 실행 내 정적 라이브러리와 공유 라이브러리는 예상대로 컴파일됩니다.

그러나 여기서 NDK_TOOLCHAIN_VERSION으로 지정하면 Android Studio의 프로젝트보기에 정적 라이브러리의 모든 소스 파일에 대한 객체 파일이 표시됩니다. 내가 다른 곳이 지정되어야한다 안드로이드 스튜디오 2.2 미리보기 (6)

를 사용하여 Windows 10에서 현재 오전

?

+0

당신은 비슷한 일을 얻을 수 있는지 확인하기 위해 여기 샘플 중 하나를 시도 할 수 있습니다? 또한 명령 줄에서 빌드 한 후에 android studio로 다시 빌드하기 전에 rmdir/S/Q your-proj/app/.externalNativeBuild를 실행하여 캐시 된 값을 제거하십시오. application.mk와 android.mk가 같은 디렉토리에 있다면, Application.mk의 플래그는 Android.mk와 같은 디렉토리에있는 한 사용됩니다 (기본값 : – Gerry

답변

0

나는 의 플래그가 (최소한 현재로서는) 무시되고 있으므로 build.gradle에 지정해야한다고 생각합니다. https://github.com/googlesamples/android-ndk/tree/master/other-builds/ndkbuild :

defaultConfig { 
    externalNativeBuild { 
     ndkBuild { 
      arguments "-DNDK_TOOLCHAIN_VERSION=clang" 
     } 
    } 
} 
+0

). 그렇지 않으면 build.gradle 모듈의 arguments 행에 Application.mk에 대한 경로를 지정해야합니다. – Gerry

관련 문제