Android.mk:java
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := JniTest LOCAL_SRC_FILES =: TestSayHello.c include $(BUILD_SHARED_LIBRARY)
Application.mkandroid
APP_ABI := all APP_PLATFORM := android-8
TestSayHello.cui
#include "com_utils_NDKUtils.h" /* 方法實現 * Class: com_utils_NDKUtils * Method: sayHello * Signature: ()Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_utils_NDKUtils_sayHello (JNIEnv *env, jclass jobj){ return (*env)->NewStringUTF(env,"hello jni"); }
在defaultConfig裏面配置命令行
ndk{ moduleName "JniTest" } sourceSets.main{ jni.srcDirs = [] jniLibs.srcDir "src/main/libs" }
我是用命令行生成.so庫的,因此我在命令行配置ndkstring
而後進入到jni目錄下 ndk-build生成so文件io
最後運行程序class