写个native 方法,make一下
生成头文件:如:C:\Users\Administrator\Desktop\university\DemoTest\app\src\main>
javah -d jni -classpath D:\studio2_2\sdk\platforms\android-24\android.jar;….\build\intermediates\classes\debug com.example.daqiang.demo
test.MainActivity在jni目录下新建一个 .c文件,实现方法,和一个空c文件
- 在 local.properties 文件中设置ndk的路径,如:sdk.dir=D:\androidsdk ndk.dir=D:\android-ndk-r10d
- 在app目录下的 build.gradle中设置库文件名(生成的so文件名):
找到 defaultConfig 这项,在里面添加如下内容:
ndk{
moduleName “MyJni” //设置库(so)文件名称
abiFilters “armeabi”, “armeabi-v7a”, “x86” //输出指定三种abi体系结构下的so库。目前可有可无。
} 对so的加载:
static {
System.loadLibrary(“MyJni”);
}添加 android.useDeprecatedNdk=true 到该 gradle.properties 文件中。
我开始用studio ndk10会有个问题,百度后改为13解决
报这个错:Cannot resolve corresponding JNI function Java_com_keepassdroid_crypto native_AesCipherSPI_Update
Reports native method declaration in Java where no corresponding JNI function is found in the project.
解决办法: File—>Settings—>Plugins,将Android NDK Support(如下图中第一项)后面的对勾去掉。重新启动 Studio
android studio ndk步骤
最新推荐文章于 2023-05-21 13:59:27 发布