Android studio jni开发出错点

一、配置步骤(个人爱好且用于生成.SO):

  • 先配置项目 build.gradle中的dependencies
  • 配置APP/build.gradle
  • 配置NDK,同时会自动build项目

二、生成.h
写好native方法
再\app\src\main\java目录下打开控制台,输入 javah -d ../jni (native方法所在类的名字,需要加上包名)
这里可能会报找不到该类文件的错,我遇到的原因有:
1.写好native方法之后没有生成classes文件
2.输入javah命令的位置不对(仅限此命令,因为生成.h文件的方法好多种)

三、使用.SO文件

  • 生成好.h文件,创建.c文件完成接口(尽量用c,不要用c++完成功能,C++文件容易报错,具体原因不清楚,只是试过换了一次就好了)
  • 编译项目没有报错,生成APK,但是一用到native方法有以下几种错(额,只记得几个错,以后遇到了上图):
    1.找不到.so动态库
    2.虚拟机加载不了.so
    ……
    Androidstudio2.1默认生成的.SO文件在:\app\build\intermediates\binaries\debug\lib下,
    要么在APP目录下创建libs文件夹,将内核对应的SO库放到该目录下。
    要么在build. gralde中配置SO库的路径。
    查看配置文件中SO库的名称是否一致。

四、引用自己写的JNIdemo

  • 把demo当module导入,可能build.gralde配置有问题
  • 把jni demo变成JAR包,导入到项目中的app/libs下
  • 把生成好的SO库直接拷贝到app/libs下,但是此时需要在你项目中配置
ndk {
            moduleName "SO库的名字"
        }

并且指定SO库的路径

 sourceSets {
            main {
                jniLibs.srcDirs = ['libs']
            }
        }

以上全部是个人踩得坑,还好多有点不记得了,想起来再加,线记着。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值