Android NDK

Android NDK 빌드툴인 NDK-Build 와 CMake 정리

Machine_웅 2020. 11. 16. 14:36
728x90
반응형

출처 : duzi077.tistory.com/194

 

Android NDK 빌드툴인 NDK-Build 와 CMake 정리

요약 안드로이드 스튜디오의 기본 빌드 툴은 CMake 안드로이드 스튜디오는 이미 사용 중인 기존 프로젝트가 너무 많아서 NDK-Build를 지원 만약 새 프로젝트를 만들 경우엔 CMake를 쓰는 것이 좋음 CM

duzi077.tistory.com

요약

안드로이드 스튜디오의 기본 빌드 툴은 CMake

안드로이드 스튜디오는 이미 사용 중인 기존 프로젝트가 너무 많아서 NDK-Build를 지원

만약 새 프로젝트를 만들 경우엔 CMake를 쓰는 것이 좋음

 

 

 

CMake

- Android, Linux, Windows, IOS 등 모든 타겟에서 빌드 가능

- 크로스 플랫폼을 사용한다면 CMake가 가장 좋음

- CMakeLists.txt 파일을 만들어줘야함 - CMake 빌드 스크립트 파일은 자동으로 생기지 않음

 

 

 

NDK-Build

- legacy 프로젝트들이 아직 많기때문에 Android Studio에서 NDK-Build를 지원

- Android.mk, Application.mk 파일 필요

- APP_PLATFORM은 안드로이드에서 minSdkVersion을 의미. 즉 NDK target API는 앱의 최소 API 지원 레벨을 의미

 

 

CMake와 NDK-Build Gradle 설정

ndk 공통 이슈들

 

32bit abi 버그

 



+

 

CMake의 주요 장점은 모든 대상 (Android, Linux, Windows, iOS 등)에 대해 하나의 빌드 파일 세트를 사용할 수 있다는 것입니다. 프로젝트가 크로스 플랫폼 인 경우 CMake는이를 가장 쉽게 만들 것입니다. 또한 Android 개발자 외부에서도 널리 알려져 있으므로 Android를 처음 접하는 사람들이 더 잘 이해할 수 있습니다.

 

Android.mk빌드 시스템 (레거시 프로젝트)에 이미 파일을 사용하는 프로젝트를 빌드하는 경우 ndk-build를 선호해야합니다 .

새 코드를 작성하는 경우 편한 것을 사용하십시오. 어느 쪽에도 익숙하지 않은 경우 cmake가 더 나은 선택 일 것입니다. 그렇게 선택하면 향후 크로스 플랫폼 작업이 더 쉬워지기 때문입니다.

 

 

  • 더 많은 안정성을위한 cmake는 새로운 프로젝트입니다.
  • ndk-build는 레거시 프로젝트 용입니다. cmake 또는 새 플러그인으로 마이그레이션 해보십시오.

 

최근 참고 주소

 

https://webnautes.tistory.com/1054

 

Android NDK + CMake + OpenCV 카메라 예제 및 프로젝트 생성방법(Android Camera Example with NDK, OpenCV, CMake )

NDK를 지원하는 안드로이드 프로젝트를 생성한 후, OpenCV 라이브러리를 추가하여 사용하는 방법을 설명합니다. 간단한 예제로 OpenCV Java API에서 캡처한 영상을 OpenCV C++ API에서 그레이스케일 영상

webnautes.tistory.com

 

728x90
반응형