return (*env)->NewStringUTF(env,(char *)"JNITest1 native String");
LOGD("Hello LIB!\n");
}
编写 Android.mk 文件,内容如下:
LOCAL_PATH:=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:=a.c
LOCAL_C_INCLUDES:=$(JNI_H_INCLUDE)
LOCAL_SHARED_LIBRARIES:=libutils
LOCAL_PRELINK_MODULE:=false
LOCAL_MODULE:=libJNITest1
include $(BUILD_SHARED_LIBRARY)
执行命令模式如下:
cd
cd mydroid/build/
envsetup.sh
cd ~/mydroid
cd external/libJNITest/
mm
mm 输出:
make: Entering directory `/home/smrdn/Android/android-1.6_r2'
target thumb C: libJNITest1 <=
/home/smrdn/Android/android-1.6_r2/external/TestJni/libJNITest1/a.c
target SharedLib: libJNITest1
(out/target/product/generic/obj/SHARED_LIBRARIES/libJNITest1_intermediat
es/LINKED/libJNITest1.so)
target Non-prelinked: libJNITest1
(out/target/product/generic/symbols/system/lib/libJNITest1.so)
target Strip: libJNITest1 (out/target/product/generic/obj/lib/libJNITest1.so)
Install: out/target/product/generic/system/lib/libJNITest1.so
make: Leaving directory `/home/smrdn/Android/android-1.6_r2'
实验证明只要是在 external 中的目录下的 jni 都会出现如上情况,在不同的目录
下生成目标模块。
Android Jni 使用方法步骤(8)在模拟器中执行程序
首先要把动态库拷进/system/lib 中。
启动模拟器
adb shell
评论1