본문 바로가기
IT

[Android] C/C++ 개발 환경 정리

by 블랙오닉스 2022. 2. 7.

1. C/C++

Android Studio + NDK + CMake

https://developer.android.com/ndk

 

Android NDK  |  Android Developers

C 및 C++와 같은 언어를 사용하여 앱의 네이티브 코드 일부를 구현하는 도구 모음입니다.

developer.android.com

네이티브 개발 키트(NDK)는 Android에서 C 및 C++ 코드를 사용할 수 있게 해주는 일련의 도구 모음으로,
센서 및 터치 입력과 같은 실제 기기 구성요소에 액세스
Android 스튜디오 2.2 이상을 사용
IDE의 통합 빌드 시스템인 Gradle을 통해 APK로 패키징
Android 네이티브 개발 키트(NDK): Android에서 C 및 C++ 코드를 사용할 수 있도록 해주는 도구 모음입니다.CMake: Gradle과 함께 작동하여 네이티브 라이브러리를 빌드하는 외부 빌드 도구입니다. ndk-build만 사용하려는 경우에는 이 구성요소가 필요하지 않습니다.LLDB: Android 스튜디오에서 네이티브 코드를 디버깅하는 데 사용하는 디버거입니다.

- Java, Flutter, Kotlin ???

 

2. 개발 환경 설치

- Android Studio 다운로드 설치

- Tools > SDK Manager > Android SDK > SDK Tools > NDK, CMake

 

3. 예제 다운로드

https://github.com/android/ndk-samples

 

GitHub - android/ndk-samples: Android NDK samples with Android Studio

Android NDK samples with Android Studio. Contribute to android/ndk-samples development by creating an account on GitHub.

github.com

sample directory의 build.gradle 열기

 

4. Target Device 설정

속도를 위해 Android Phone 사용

"Pair Devices with Wi-Fi" 발견 -> Android 11 부터 사용가능

http://batmask.net/index.php/2021/07/16/1054/

 

Android : 무선 디버깅 사용하기

에뮬레이터가 되긴 하지만, 컴터가 좀 구려서 바로 이전에 쓰던 폰을 테스트 시료로 사용중인데, 이놈이 USB포트 접촉불량이 좀 있다. USB선을 건드리지 않고 쓰는게 너무 스트레스라 찾아보니 역

batmask.net

Android 10:

 설정>휴대전화 정보> 소프트웨어 정보> 빌드번호 (여러번 선택) > 개발자 모드 활성화

 설정>개발자 옵션 > USB 디버깅

 USB연결

 Android Studio Terminal 에서 아래의 순서로 진행

adb tcpip 5555

adb connect <Android Phone IP>:5555

adb 위치는

C:\Users\<user name>\AppData\Local\Android\Sdk\platform-tools>

5. 실행

camera 예제build.gradle 열고 run.

프로젝트 바뀔 때마다 adb connect 실행해야 함

Run > run app

Run > profile 을 실행하면 실시간 성능이 표시 된다.

6. 추가 자료

https://web-inf.tistory.com/98

 

Android NDK&JNI(C/C++) 사용하기 (JNI-Hello, World)

안녕하세요. 안드로이드 포스팅을 오래간만에 진행해보겠습니다. 안드로이드(JAVA) 환경에서 C혹은 C++(네이티브) 소스를 연동/연결하여 상호 호환하는 기술을 주제로 시작하겠습니다. 사용 환경

web-inf.tistory.com

 

'IT' 카테고리의 다른 글

[WSL] VMware 문제  (0) 2022.02.20
[Linux] 개발 환경 @Windows 10  (0) 2022.02.20
[전기차] 모터 기술  (0) 2022.02.15
[MinGW] 설치, 문제 해결 @Windows 10  (0) 2022.02.05
[비트코인] Python 채굴  (0) 2022.02.05