Step: 1. 添加native接口注意写好native接口和System.loadLibrary()即可了,并无特别之处。 Step: 2.执行Build->Make Project 生成了.class文件..class文件的生成路径是在 app_path/build/intermediates/classes/debug下的. 这个在android studio里面看不到, 到文件管理器里面翻到的, 里面还有好多东西。
Step: 3.javah生成c头文件 点击"View->Tool Windows->Terminal",即在Studio中进行终端命令行工具.执行如下命令生成c语言头文件。
这 里需要注意的是要进入 <Project>appsrcmain的目录下执行javah命令,为的是生成的 .h 文件同样是在<Project>appsrcmain路径下(jni下面),可以在Studio的工程结构中直接看到。
操作命令:
javah -d jni -classpath <SDK_android.jar>;<APP_classes> <class>
javah -d jni -classpath c:UsersXimeiAppDataLocalAndroidsdk1platformsandroid-21android.jar;....buildintermediatesclassesdebug com.example.jnitest 好长一串, 好家伙, 这通敲. 然后就看到<project>appsrcmainjnicom_example_jnitest.h出现了. Step: 4.编辑c文件
在<project>appsrcmainjnijnitest.c文件中实现头文件中的函数。
Step: 5.配置NDK
这一步包括两个动作:
1.指明ndk路径 在local.properties中添加ndk目录, ndk目录中不可包含空格. ndk.dir=C:\android-ndk-r10d
2. 修改build.gradle配置
工程中共有两个build.gradle配置文件,我们要修改的是在<Project>appbuild.gradle这个文件。为其在defaultConfig分支中增加上 ndk { moduleName "jnitest"
} 3. 添加Application.mk 和 Android.mk文件 Application.mk APP_PROJECT_PATH := $(call my-dir)/project APP_MODULES := nativebt Android.mk LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := jnitest LOCAL_SRC_FILES := jnitest.c LOCAL_DEFAULT_CPP_EXTENSION := cpp #include $(BUILD_EXECUTABLE) include $(BUILD_SHARED_LIBRARY) 然后进行编译, 会出现no rule to make target....错误, 按照网上的经验, 生成一个空的empty.c文件, 错误通过. (啧, 2014年3月的bug, 居然还没有fix版) 终于编译成功, 编译出来的库文件在如下路径: <project>appbuildintermediatesndkdebuglib 共7个目录, 7种架构吧。 至此, 开发环境建立成功。