Android JNI編程實踐:第一個JNI程序
先配置NDK環境,網上教程很多。安裝cygwin 。
NDK路徑D:\cygwin\home\Administrator 編輯.bash_profile這個文件
添加字段:
NDK_ROOT=/cygdrive/d/android/android-ndk-r8b
export NDK_ROOT
測試是否配置成功;
開始建立第一個TextJNI
創建Android工程 TextJNI ,
第一步 :創建一個類
package com.example.textjni; public class TextJNI { static { System.loadLibrary("jniinterface"); } public static native int getInt(); public static native String getString(); }
第二步:生成 C++中的 .h文件
在工程中新建jni文件夾,把生成的文件夾復制到jni文件下面
第三步 :現在開始寫C++代碼和android.mk文件
cpp 的代碼如下
#include"com_example_textjni_TextJNI.h" #include <stdio.h> #include <stdlib.h> int sum () { int x,y; x = 100 ; y = 1000; x += y; return x; }//實現 com_example_textjni_textJNI.h 的方法 JNIEXPORT jint JNICALL Java_com_example_textjni_TextJNI_getInt (JNIEnv *, jclass) { return sum(); } JNIEXPORT jstring JNICALL Java_com_example_textjni_TextJNI_getString (JNIEnv *env, jclass) { return env->NewStringUTF("HelloNDK"); }
android.mk文件
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := jniinterface//so.文件名 LOCAL_SRC_FILES := com_example_textjni_TextJNI.cpp//C++類名 include $(BUILD_SHARED_LIBRARY)
最后一步,編譯生成.so文件。
編譯成功。。
本文由用戶 dypm 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!