2、新建AS工程
3、編寫JNI的java類
public class JNIMethod {
static {
System.loadLibrary("myjnitools"); //在build gradle中配置
}
public native String getString();
}
4、生成.h
(1)在Terminal中 輸入 cd app\src\main\java>
進入文件目錄
再輸入 javah -jni packagename.methodname 生成.h文件
(2)在main下新建JNI文件夾並將生成的.h文件複製到考至該文件下
(3)新建xx.c文件 並對.h做實現
5、gradle.propoerties 文件修改
末尾添加:android.useDeprecatedNdk=true
6、build gradle 文件修改
defaultConfig {
...
ndk{
moduleName "myjnitools" //生成的so名字
abiFilters "armeabi", "armeabi-v7a", "x86" //輸出指定三種abi體系結構下的so庫。目前可有可無。
}
}
7、編譯 結束
編譯出錯:
Execution failed for task ':app:compileDebugNdk'.
原因:NDK的一個bug
解決辦法:
在jni文件中添加空的util.c文件