当前位置:   article > 正文

Flutter插件引入第三方jar包之armeabi_flutter 调用jar

flutter 调用jar

然而我们这个相机厂商只提供armeabi架构的包

由于测试机是v8a的架构,而且flutter经过多个版本更新后,不能直接flutter run的时候指定平台架构为32位的,则无法调用到so文件,所以有不小的麻烦。这先按下不表。

一、导入jar包和so文件

导入jar包

首先还是在plugin/android的目录新建一个libs文件夹,然后将jar文件放进去就好

image.png

然后在依赖里一个一个导入就好。

dependencies {
implementation files(‘libs/hyfisheyepano.jar’)
implementation files(‘libs/mid-core-sdk-4.0.7.jar’)
implementation files(‘libs/org.apache.http.legacy.jar’)
implementation files(‘libs/wup-1.0.0.E-SNAPSHOT.jar’)
implementation files(‘libs/Xg_sdk_4.0.3_20180720_1441.jar’)
implementation files(‘libs/nv_sdk_v1.0.0.jar’)
}

导入so文件

so文件包在编辑器中只需要放入指定位置,就可以被找到,在Android studio中需要放在src/main/jniLibs中,所以直接将文件包一下子复制进去。

image.png

如果有多种架构的so文件,同样也是把包整体复制进来。

运行一下

这个时候,程序是可以正常跑起来了,不涉及到插件功能的时候运行正常,一旦需要调用一下插件的方法的时候,程序会直接奔溃退出,查看控制台,提示出Can't link the lib

image.png

这里的提示语句是sdk里使用try catch返回出来的,本意就是coundn't find "xxx.so",无法在程序里面找到所需要的文件,按照方法导入了,怎么又无法链接到,接着往下看。

二、加载so文件

上面我们运行了一下,发现是jar包里的方法需求调用so文件,但是怎么都调用不到,这又是什么问题?

验证安装包

首先想到的是验证一下文件是否引入成功,如果文件引入成功,可以直接查看apk里查看到引入的文件。所以首先找到安装包的位置

当flutter运行于debug模式的时候,程序会先生成一个app-debug.apk的文件,储存在项目目录中build/app/outputs/flutter-apk的这个位置,当然这里同时也保存了release版的安装包。

在Android studio的菜单栏中,找到build -> Analyze Apk这个功能,打开我们的app-debug.apk

image.png

可以发现里面包含了多种架构的jniLibs,而我们的手机是arm64-v8a,程序非常符合逻辑的就去对应的架构中去寻找需要文件,而我们的文件只有armeabi的版本,找不到文件,插件方法无法调用,程序就报错崩溃

image.png

根据开头提到的:armeabi-v7aarm64-v8a这两种架构是可以向下兼容的,聪明的你肯定想到可以把其他架构的文件包删掉就好,只有保留有内容的。

解决方法

解决方法就一句话,在build.gradle文件中加上以下这句话:

android{
defaultConfig{
ndk {
abiFilters ‘armeabi’
}
}
}

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

推荐学习资料


  • 脑图
    360°全方位性能调优

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

-1712271138342)]

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/607862
推荐阅读
相关标签
  

闽ICP备14008679号