帖子

空指针异常,21002,21001,安卓正确引用so

[复制链接]

该用户从未签到

5492  楼主| 爱学习的小欣 发表于 2020-8-19 14:40:20 1#
本帖最后由 138****3889 于 2020-8-19 14:53 编辑

将语音功能集成到自己项目中的大坑

使用语音功能的时候,拿语音听写为例,sdk初始化了,听写对象也创建了,但是设置参数的时候一直报听写对象空指针,如下图所示 空指针.png
如果只揪着这个错误不放,很难找到错误真正的原因,
此时将控制台日志向上翻,会看到报错误码,如下图所示,问题是我在创建对象的时候传了初始化的监听器InitListener,并没有给我报错误码,然后一直报听写对象null 的错误就很迷惑人,所以大家一定要多看日志,不能被错误信息迷惑
错误码.png
下面给大家解决上述错误

根据21002错误码的解释,判断是 so库没引用成功
在AndroidStudio编译中,默认 so 库文件,是从jniLibs 目录下进行加载,所以直接创建一个jniLibs 目录后把so库文件粘贴进去就OK,如果还引用不到,需要手动去关联一下so支持的平台,如以下代码
  1. defaultConfig {
  2.         ndk{//根据自己so库,正确引用
  3.             abiFilters 'armeabi-v7a','arm64-v8a'
  4.         }
  5.     }
复制代码

如果是将so库放在了libs文件夹下,那需要如下代码配置
  1. sourceSets {

  2. main {
  3. jniLibs.srcDirs = ['libs']
  4. }
  5. }
复制代码


愿大家的代码没有bug






W. 发表于 2020-9-1 14:38:25
2#
你好 我也报一样的错误  可是按照你的方法  还是会报空指针

楼内回复

这个空指针仅仅是so库未正确引用造成的,您可以看看您代码的空指针是否是没有创建成功  详情 发表于 2020-9-3 09:14
使用道具 举报 回复
 楼主| 爱学习的小欣 发表于 2020-9-3 09:14:42
3#
W. 发表于 2020-9-1 14:38
你好 我也报一样的错误  可是按照你的方法  还是会报空指针

这个空指针仅仅是so库未正确引用造成的,您可以看看您代码的空指针是否是没有创建成功
使用道具 举报 回复