프로그래밍/Android5 자바에서 C 라이브러리 함수 호출하기 예제 프로그램 - C 함수를 호출하는 간단한 자바 프로그램 자바에서 호출할 C 함수는 콘솔 화면에 문자열을 출력하는 간단한 함수다 예제 프로그램에서 자바가 JNI를 통해 어떻게 C 함수를 호출하는지에 초점을 맞춰 살펴보기 바란다 여기서 보여줄 예제는 이해하기 어렵지 않으며 JNI를 이용해서 개발할 때는 대부분 동일한 절차를 밟으므로 이번 예제를 통해 확실히 이해해두기 바란다 전체적인 개발 순서 자바에서 JNI를 거쳐 C 함수를 호출하려면 다음과 같이 진행해야 한다 1단계. 자바 코드 작성 2단계. 자바 코드 컴파일 3단계. C 헤더 파일 생성 4단계. C 코드 작성 5단계. C 공유 라이브러리 생성 6단계. 자바 프로그램 실행 1단계. 자바 코드 작성 예제와 같이 자바 코드에서 JNI 를 통해 C로 구현.. 2017. 12. 19. JNI 레이어 안드로이드 프레임워크에서 C/C++과 자바 레이어가 유기적으로 동작하게 만들려면 자바 레이어(상위)와C/C++ 레이어(하위) 를 상호 연결해 주는 매개체가 필요하다 자바와 C/C++ 모듈 간의 인터페이스를 가능하게 해주는 것이 바로 JNI (Java Native Interface) 다 JNI는 C/C++ 같은 자바 이외의 언어(네이티브 언어)로 만들어진 모듈이나 애플리케이션과 자바 클래스가 서로 상호작용할 수 있게 정의한 인터페이스를 의미한다 예를 들어, 자바 클래스에서 C언어로 작성된 라이브러리에 포함된 특정 함수를 사용하고 싶다거나, 반대로 C 프로그램에서 자바 클래스 라이브러리를 사용하고 싶다면 JNI를 사용해야 한다 일반적으로 JNI는 다음과 같은 경우에 주로 활용한다 * 빠른 처리 속도를 요구하.. 2017. 12. 19. 애플리케이션 템플릿의 수동 생성 우선 애플리케이션에 필요한 기본 템플릿들을 만들어보자안드로이드 SDK 를 통해 만들어지는 모든 안드로이드 애플리케이션에는 사전에 정의된디렉터리 구조와 환경 설정 .xml 파일들이 포함되어야 한다 이를 위해서는 안드로이드 SDK 툴과 IDE를 이용해야 한다이번 예제에서는 이를 수작업으로 처리하는 방법을 배워본다이 파일들은 차후 모든 예제들의 토대가 될 것이다 여기서는 안드로이드 툴을 이용하지 않고 필요한 파일들을 전부 수동으로 생성해보려고 한다 * 예제 구현 2017. 11. 30. NDK 빌드 환경 구축 * 윈도우에서 안드로이드 개발 툴 설치 안드로이드용 게임 개발을 시작하려면 필수적인 몇 가지 툴을 시스템에 설치해야 한다 * 준비 다음은 안드로이드용 게임 개발을 시작하는 데 필요한 전체 준비사항의 목록이다 1. http://developer.android.com/sdk/index.html 의 안드로이드 SDK 2. http://developer.android.com/tools/sdk/ndk/index.html 의 안드로이드 NDK 3. http://ant.apache.org 의 아파치 앤트(Apache Ant). 아파치 앤트는 자바 명령행 툴로 C++ 개발자들에게 친숙하지는 않을 것이다 이 툴은 자바 애플리케이션을 빌드하기 위한 것인데, 모든 안드로이드 애플리케이션이 자바 wrapper를 가지고 있으므.. 2017. 11. 30. 안드로이드 NDK 시작 C++ 로 모바일 애플리케이션을 개발할 때, 기존의 C++ 라이브러리를 재활용하고 싶거나 부분적인 성능 향상을 위해 네이티브 기능을 사용하고 싶을 때는 주로 안드로이드 NDK(Native Development Kit)를 이용한다 초기에 NDK는 바이오닉(Bionic) 라이브러리를 기반으로 했다이 라이브러리는 구글에서 안드로이드용으로 개발한 BSD 표준 C 라이브러리(libc)의 파생 버전이다 바이오닉의 주요 목표는 다음과 같다 - 라이선스 : 원래의 GNU C 라이브러리(glibc)는 GPL 라이선스를 가지고, 바이오닉은 BSD 라이선스를 가진다 - 크기 : 바이오닉은 GNU C 라이브러리에 비해 크기면에서 훨씬 작다 - 속도 : 바이오닉은 상대적으로 낮은 클록 주파수를 가진 모바일 CPU용으로 설계됐다.. 2017. 11. 30. 이전 1 다음