![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQVaQ1%2FbtrKOigUDMr%2F05YlHondsbovZR9m3Dql41%2Fimg.png)
안드로이드 프로젝트를 진행하던 도중, C언어로 작성된 코드를 활용해야 하는 이슈가 발생했다. 구글링을 해보니 JNI를 사용하면 자바 언어에서 C나 C++ 소스 파일을 가져와 사용할 수 있다고 하길래 테스트를 해보면서 포스팅을 올리게 되었다. NDK, JNI란? NDK (Native Development Kit) 안드로이드에서 제공하는 ndk는 C, C++ 로 구성된 네이티브 코드로 앱의 일부를 구현할 수 있게 해주는 도구이다. JNI (Java Native Interface) 자바와 네이티브 언어를 연결해주는 인터페이스를 말한다. 안드로이드의 NDK를 이용해서 JNI를 구현하게 될 것이다. 개발환경 C/ C++ 소스 코드가 필요하다는 생각이 들자마자 지레 겁을 먹었다. 나는 아직까지 unmanged 언어..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3JIbN%2FbtrnQ5j5g7u%2FnT8P5wTf3CKV3JQwNeZPC1%2Fimg.jpg)
요즘은 스마트폰과 블루투스 기기를 연결하는 상황이 흔하게 일어난다. 스마트폰은 기본적으로 블루투스 기능이 탑재되어 있으므로 블루투스 기능이 들어간 다른 디바이스와 연결하는 것을 구현해보고자 한다. 개발 환경 Android Studio : Arctic Fox 2020.3.1 버전 SDK/ API Level : Android 12/ 31 ( Arctic Fox 버전으로 업데이트해야 Android12/ API 31레벨을 사용할 수 있다) Java : 1.8.xx Android 12, 블루투스 권한 업데이트 기존에 블루투스 기능을 사용하기 위해서 선언되는 Permission은 다음과 같았다. - BLUETOOTH - BLUETOOTH_ADMIN - ACCESS_FINE_LOCATION 그러나, Android 1..