
안드로이드 프로젝트를 진행하던 도중, C언어로 작성된 코드를 활용해야 하는 이슈가 발생했다. 구글링을 해보니 JNI를 사용하면 자바 언어에서 C나 C++ 소스 파일을 가져와 사용할 수 있다고 하길래 테스트를 해보면서 포스팅을 올리게 되었다. NDK, JNI란? NDK (Native Development Kit) 안드로이드에서 제공하는 ndk는 C, C++ 로 구성된 네이티브 코드로 앱의 일부를 구현할 수 있게 해주는 도구이다. JNI (Java Native Interface) 자바와 네이티브 언어를 연결해주는 인터페이스를 말한다. 안드로이드의 NDK를 이용해서 JNI를 구현하게 될 것이다. 개발환경 C/ C++ 소스 코드가 필요하다는 생각이 들자마자 지레 겁을 먹었다. 나는 아직까지 unmanged 언어..

요즘은 스마트폰과 블루투스 기기를 연결하는 상황이 흔하게 일어난다. 스마트폰은 기본적으로 블루투스 기능이 탑재되어 있으므로 블루투스 기능이 들어간 다른 디바이스와 연결하는 것을 구현해보고자 한다. 개발 환경 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..