不使用eclipse开发JNI,使用谷歌亲儿子AndroidStudio,并开启Native Debugger
一、创建JNI工程
1、android.useDeprecatedNdk=true
在gradle.properties中添加“android.useDeprecatedNdk=true”,否则会报
”Error: NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin.“
2、创建CLog类
添加native方法public static native void i();
3、采用javah使用生成头文件
创建JNI目录
创建后实际的jni目录为app/src/main/jni,与java同级
打开Terminal,执行javah -d ../jni/ -jni com.tu.jnilog.clog.CLog命令生成头文件至jni目录
4、实现头文件
1 | #include <android/log.h> |
5、添加moduleName及支持平台
接下来将c编译成so,引用并调用。
在AndroidStudio中在defaultConfig配置中添加
1 | moduleName "CLog" |
6、loadLibrary
在CLog类中添加
1 | System.loadLibrary("CLog");//与指定的module |
二、开启Native Debugger
1、激活Native代码调试
在module下build.gradle中buildTypes添加
jniDebuggable true
}
否则会报Error: Build type isn’s JNI debuggable
2、Edit Configurations
Run->Edit Configurations->开启Hybrid调试
打上断点,选择创建的Native运行即可
示例工程参见 JNILog
v1.3.10