안드로이드 스튜디오 코틀린에 C++ 파일 추가하기
처음 안드로이드 스튜디오에서 C++로 시작하면 기본으로 존재하는
C++ 소스 외에 자신의 C++ 소스파일을 추가해서 컴파일 하고 싶을 때 방법입니다.
C++ 처음 설정하는 방법은 아래 포스트를 참고해 주세요
dxkor2.tistory.com/181?category=915550
CPP 에서 우클릭-> New->C/C++ Source File를 선택합니다.
struct {, 등 해더를 추가하고 싶을땐 바로밑 c/c++ Head File 를 선택합니다.
자신이 만들고 싶은 C++ 파일 이름을 적습니다.
CMakeLists.txt 에서 방금 만든 cpp 파일을 추가합니다.
만일 상단 바에 Sync Now 가 뜬다면 꼭 클릭해서 실행해 줍니다.
cpp 파일의 상단에 기본으로 #include <jni.h> 처럼 되지 않고
길게 경로가 적힌다면 Sync를 해주지 않아서 그런것 입니다.
계속 문제를 일으키는 원인이 될수 있습니다
코틀린에서 c++ 함수를 호출할 Class를 만듭니다.
위에서 class am3{}
호출할 c++ 함수를 정의 합니다.
external fun readyam3()
그리고 기본적으로 시스템 라이브러리인 companion object {init {System.loadLibrary("native-lib")}}를 추가해 줍니다.
만일 여러개의 .cpp 파일을 만든다면 MainActivity.kt 의
class MainActivity: AppCompatActivity(){ -의 제일 하단에 한번만 추가해 주면 됩니다.
(패키지 이름이 같을때)
그리고 방금 만든 자신의 cpp 파일에 함수를 코딩하면 됩니다.
이걸 보실 정도면 기본적이 코틀린<->c++ 호출 형식을 아실 거라 생각합니다 만..
위처럼 c++ 함수 이름을 readyam3로 했을 경우
위에서 보시는 바와 같이 Java_bjstudio_app_am3_readyam3로 설정 했습니다.
Java_ <- 기본적으로 추가합니다.
_bjstudio_app <- 위에 예시에서 class am3가 있는 Package 이름입니다.
_am3 <- 이 함수를 호출하는 class 이름
_readyam3 <- 함수 이름
앱을 배포용으로 컴파일할때 x86과 arm ,32비트 64비트 형으로 컴파일 되어 배포되어 집니다.
'프로그램잉_기타 > 안드로이드 스튜디오' 카테고리의 다른 글
안드로이드 스튜디오 빌드 파일 스마트폰에서 직접 실행해 보기 (0) | 2020.10.07 |
---|---|
안드로이드 스튜디오 코틀린 자바 디컴파일러 (0) | 2020.10.05 |
안드로이드 스튜디오 코틀린 다른 class에서 context 받기 (0) | 2020.09.26 |
안드로이드 스튜디오 파일 압축 하지 않기 설정 및 코틀린 에셋 파일 (기초 개념) (0) | 2020.09.18 |
안드로이드 스튜디오 코틀린 10진수를 16진수로 출력하기 (0) | 2020.09.16 |