어제에 이어서 NDK 설치 마무리로 가보겠습니다.
어제 마지막했던 인고의 시간을 잘 견디셨다면 이 창이 잘 떴겠죠?
그럼 이제 cygwin 설치는 완료 되었고 제대로 동작을 하는지 살펴 볼 차례입니다.
cygwin 터미널을 실행하면
그럼 이제 cygwin 설치는 완료 되었고 제대로 동작을 하는지 살펴 볼 차례입니다.
cygwin 터미널을 실행하면
위와 같이 터미널 환경이 뜨게 됩니다. 그럼 프롬프트에서 명령어를 입력해서 되는지
확인할 것 입니다.
make -v
확인할 것 입니다.
make -v
명령어를 입력했을 때 cygwin 터미널에서 GNU Make 버전을 확인할 수 있어야 합니다.
이제서야 본격적인 NDK 설치로 가볼 수 있겠어요 ㅠㅠ
Android NDK는 아래 주소에 가서 받도록 합니다.
다운로드 페이지 ; http://developer.android.com/tools/sdk/ndk/index.html#Downloads
이제서야 본격적인 NDK 설치로 가볼 수 있겠어요 ㅠㅠ
Android NDK는 아래 주소에 가서 받도록 합니다.
다운로드 페이지 ; http://developer.android.com/tools/sdk/ndk/index.html#Downloads
다운로드 페이지로 들어가게 되면 운영체제 별로 나누어져 있습니다.
여기서 Windows용으로 받도록 합니다.
다운로드 받는 위치는 path가 간단해 지도록 C:\로 하구요.
path에 중간에 빈 칸이 없도록 해야합니다. 그리고 압축을 해제해 줍니다.
압축 해제하는데도 시간이 좀 걸리네요.........
그럼 이제 미리 설치했던 Android SDK에 있던 이클립스를 실행합니다.
여기서 Windows용으로 받도록 합니다.
다운로드 받는 위치는 path가 간단해 지도록 C:\로 하구요.
path에 중간에 빈 칸이 없도록 해야합니다. 그리고 압축을 해제해 줍니다.
압축 해제하는데도 시간이 좀 걸리네요.........
그럼 이제 미리 설치했던 Android SDK에 있던 이클립스를 실행합니다.
이클립스를 열었다면 이제 새로운 안드로이드 프로젝트를 생성하도록 합니다.
프로젝트를 생성할 때 Package Name은 최대한 간단하게 만들어줍니다.
그리고 Activity를 생성하고 Activity Name도 간단한게 만들어 주어야 뒤에 작업에서 편해 집니다.
프로젝트를 생성을 완료하면 이클립스에 프로젝트의 기본 폴더와 파일 목록을 확인할 수 있죠.
이제 생성된 프로젝트에 폴더와 파일을 생성할 것입니다.
그리고 Activity를 생성하고 Activity Name도 간단한게 만들어 주어야 뒤에 작업에서 편해 집니다.
프로젝트를 생성을 완료하면 이클립스에 프로젝트의 기본 폴더와 파일 목록을 확인할 수 있죠.
이제 생성된 프로젝트에 폴더와 파일을 생성할 것입니다.
우선은 생성된 프로젝트 최상위 폴더에서 마우스 오른쪽 버튼으로 폴더를 추가 합니다.
폴더 이름은 jni 로 합니다. 다음으로 파일을 생성합니다.
jni 폴더에서 마우스 오른쪽 버튼을 눌러서 파일을 추가합니다. 파일명은 Android.mk로 합니다.
이제 생성한 Android.mk 파일에 다음 코드를 입력합니다.
===================Android.mk=================================
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Here we give our module name and source file(s)
LOCAL_MODULE := ndktest
LOCAL_SRC_FILES := ndktest.c
include $(BUILD_SHARED_LIBRARY)
==============================================================
소스코드에서 중요한 부분은 주석 밑 부분으로 LOCAL_MODULE은 프로젝트 이름으로 했고
LOCAL_SRC_FILES은 이제 생성할 파일의 이름이 되겠습니다.
ndktest.c 파일은 jni 폴더 아래로 생성해 줍니다.
생성한 ndktest.c 파일에 이제 다음 코드를 입력합니다.
===================ndktest.c==================================
#include <string.h>
#include <jni.h>
jstring Java_[Package Name]_[Activity Name]_invokeNativeFunction(JNIEnv* env, jobject javaThis) {
return (*env)->NewStringUTF(env, "Hello from C Code!");
}
==============================================================
프로젝트를 생성할 때 Package Name과 Activity Name을 사용하기 때문에
이름을 너무 어렵게 만들면 여기서 구분하기가 힘들어 집니다.
오늘은 벌써 한시간도 더했군요.... 다음부터는 진짜 짧게짧게 해야겠어요...
댓글 없음:
댓글 쓰기