コマンドラインからAndroid用のネイティブコードを構築していますが、実行すると、HelloJniサンプルのコードを使用してimcd <project> ndk-build
が出力され、サンプルをインポートしてコンパイルすると、すべて正常に動作します。nothing can be done for 'all'
アクティビティ
public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Log.i("DEBUG", stringFromJNI());
setContentView(new MySurfaceView(this));
}
public native String stringFromJNI();
static
{
System.loadLibrary("nativemain");
}
}
nativemain.c
#include <string.h>
#include <jni.h>
jstring Java_com_ndktest2_MainActivity_stringFromJNI( JNIEnv* env,
jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello from JNI !");
}
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := nativemain
LOCAL_SRC_FILES := nativemain.c
include $(BUILD_SHARED_LIBRARY)
アプリケーション.mk
APP_ABI := armeabi
みんなとギャルの助けをどうもありがとうございました!!
更新 1: プロジェクトを更新し、ndk-build を再度実行して動作させましたが、実行時に UnsatisfiedLinkError 例外を受け取りました。エミュレーターとして BlueStack を使用しています。