Android在编写NDK/JNI时注意的问题
---------------------------------------华丽的分割线-----------------------------------------
?
当你使用简单的本地方法时,有以下:?
?
Android.mk
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_C_INCLUDES := $(LOCAL_PATH)/includeLOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llogLOCAL_MODULE := testSumLOCAL_SRC_FILES := testSum.cinclude $(BUILD_SHARED_LIBRARY)
?
(JAVA)TestJni.java:
package com.test;import android.app.Activity;import android.os.Bundle;import android.util.Log;public class TestJni extends Activity {private static final String TAG = "TestJni:"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Log.v(TAG, "" + getSum(2, 3)); } public native int getSum(int x, int y); static{ System.loadLibrary("testSum"); }}?
?
(JNI)testSum.c:
#include <string.h>#include <android/log.h>#include <jni.h>jint Java_com_test_TestJni_getSum(JNIEnv* env, jobject thiz,jint x,jint y){//该方法为打印的方法__android_log_print(ANDROID_LOG_INFO, "JNIMsg", "Get Param: x=%d y=%d ", x,y);return x + y;}?
?
?注意点:
?
?
?