Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- FLUTTER
- RxJava
- flutter firestore
- 프로그래머스
- dart
- Django REST
- Django REST framework
- mfc
- Python
- 코틀린
- UWP
- C/C++
- Java
- kodility
- C
- NDK
- C++
- android push
- Django REST Android
- Kotlin
- Android P
- livedata
- RxAndroid
- 안드로이드 구글맵
- 알고리즘
- Android
- 안드로이드
- android architecture component
- Rxjava2
- Flutter TextField
Archives
- Today
- Total
개발하는 두더지
Android NDK 빌드툴인 NDK-Build 와 CMake 정리 본문
요약
안드로이드 스튜디오의 기본 빌드 툴은 CMake
안드로이드 스튜디오는 이미 사용 중인 기존 프로젝트가 너무 많아서 NDK-Build를 지원
만약 새 프로젝트를 만들 경우엔 CMake를 쓰는 것이 좋음
CMake
- Android, Linux, Windows, IOS 등 모든 타겟에서 빌드 가능
- 크로스 플랫폼을 사용한다면 CMake가 가장 좋음
- CMakeLists.txt 파일을 만들어줘야함 - CMake 빌드 스크립트 파일은 자동으로 생기지 않음
# Sets the minimum version of CMake required to build your native library.
# This ensures that a certain set of CMake features is available to
# your build.
cmake_minimum_required(VERSION 3.4.1)
# Specifies a library name, specifies whether the library is STATIC or
# SHARED, and provides relative paths to the source code. You can
# define multiple libraries by adding multiple add.library() commands,
# and CMake builds them for you. When you build your app, Gradle
# automatically packages shared libraries with your APK.
add_library( # Specifies the name of the library.
native-lib
# Sets the library as a shared library.
SHARED
# Provides a relative path to your source file(s).
src/main/cpp/file_name.cpp )
NDK-Build
- legacy 프로젝트들이 아직 많기때문에 Android Studio에서 NDK-Build를 지원
- Android.mk, Application.mk 파일 필요
- APP_PLATFORM은 안드로이드에서 minSdkVersion을 의미. 즉 NDK target API는 앱의 최소 API 지원 레벨을 의미
CMake와 NDK-Build Gradle 설정
// Encapsulates your external native build configurations.
externalNativeBuild {
// Encapsulates your CMake build configurations.
cmake {
// Provides a relative path to your CMake build script.
path "src/main/cpp/CMakeLists.txt"
}
// Encapsulates your ndkBuild build configurations.
ndkBuild {
// Provides a relative path to your ndkBuild Android.mk file.
path "src/main/cpp/Android.mk"
}
}
'Java,Android' 카테고리의 다른 글
Android NDK 32bit 64bit abi 와 2GB 이상 파일 지원 (0) | 2018.08.13 |
---|---|
Android Architecture Components ViewModel이란? (1) | 2018.08.12 |
kotlin + firebase 를 이용한 Push Notification 구현(3) (1) | 2018.07.19 |
kotlin + firebase 를 이용한 Push Notification 구현(2) (1) | 2018.07.19 |
[Android] Android P 변경사항 (0) | 2018.07.18 |
Comments