c와 연동

mobile/Android 2010. 7. 23. 08:47

+ 관련툴 다운로드
   http://developer.android.com/sdk/ndk/index.html
   http://www.cygwin.com/

+ 설치 주의사항
   - cygwin을 한글명이 포함된 폴더에 설치하면 문제 -> 모두 지우고 영문폴더 밑에 재설치
   - ndk도 한글명 포함된 폴더에 설치하면 문제

+ 안드로이드 프로젝트 생성

+ 사용할 클래스 생성

+ c에서 사용할 헤더 만들기



+ 프로젝트폴더 밑에 jni폴더 생성
+ jni폴더 밑에 Android.mk파일 생성

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := HelloLibrary
LOCAL_SRC_FILES := NdkHello.c
include $(BUILD_SHARED_LIBRARY)

+ jni폴더 밑에 javah로 생성한 헤더파일 복사

+ jni폴더 밑에 c소스파일 생성
#include "android_ndk_test_hello_NdkHello.h"
#include 
jstring Java_android_ndk_test_hello_NdkHello_getMsgFromJni(JNIEnv *env, jobject thiz, jstring jstr)
{
    return (*env)->NewStringUTF(env, "hello from jni");
}

+ cygwin을 이용한 컴파일


+ LogCat에 로그찍기

- Android.mk 파일에 LOCAL_LDLIBS:= -llog

#include <android/log.h>
__android_log_print(ANDROID_LOG_INFO, "ExecSamba", "pid = 0");
__android_log_print(ANDROID_LOG_INFO, "Return2: ", "%d", returnvalue2);

- 한글


+ 참고 사이트
http://download.oracle.com/docs/cd/E17476_01/javase/1.4.2/docs/guide/jni/index.html
http://pllab.kw.ac.kr/j2seAPIs/guide/jni/spec/types.html#wp9502
http://occamsrazr.net/tt/231
http://micropilot.tistory.com/entry/Hello-Android-NDK-example
http://cafe.naver.com/jcga/1789

'mobile > Android' 카테고리의 다른 글

WiFi Debugging in Android  (0) 2014.04.14
c에서 logcat에 log찍기  (0) 2010.07.28
stlport  (0) 2010.07.26
자바프로젝트에서 export한 jar를 안드로이드프로젝트에서 불러오기  (0) 2010.07.22
블로그 이미지

란마12

,