JNIを使った 最小構成

OpenCVとか触っていきたいので、ちょっとずつ学んでいきます。
ほぼメモ書きです。

とりあえず
MainActivity.java
Android.mk
hello-jni.c
の3ファイルが有り、ちゃんとEclipseの設定がしてあれば動く模様です。
JNIから文字列を取得してトーストに出す例です。
ほぼサンプルから持ってきただけです。
src/Packageへのパス/MainActivity.java

package com.example.ndksample;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;

import com.example.ndk_sample.R;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toast.makeText(this, stringFromJNI(), Toast.LENGTH_LONG).show();
    }


    public native String  stringFromJNI();
 
    static {
        System.loadLibrary("hello-jni");
    }
}

jni/Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := hello-jni
LOCAL_SRC_FILES := hello-jni.c

include $(BUILD_SHARED_LIBRARY)

jni/hello-jni.c

#include <string.h>
#include <jni.h>

jstring
Java_com_example_ndksample_MainActivity_stringFromJNI( JNIEnv* env,
                                                  jobject thiz )
{
    return (*env)->NewStringUTF(env, "Hello from JNI !");
}

takam