Android和flutter交互,maven库的形式导入aar包

记录遇到的问题,在网上找了很多资料,都是太泛泛了,使用后,还不能生效,缺少详细的说明,或者关键代码缺失,我遇到的问题用红色的标注了

导入aar包有两种模式

1.比较繁琐的,手动将aar包放在libs下面,so包放在jniLibs下面

在build.gradle中,以及导入aar包

其中第三行的获取方式

2.导入flutter打包好的maven库,这个非常检查,不需要自己导入aar和so

我这个放在本地

在app的build.gradle两个方法都加上

defaultConfig {
    ......
    ndk {
        abiFilters "arm64-v7a"
    }
}
 

到这里包就导入成功了

下面是代码部分

首先在清单文件下配置

第一个是原生的,第二个是我自定义的

下面说说几种打开flutteractivity页面,我在这上面遇到很多坑

1.默认启动的,利用路径直接打开FlutterActivity,没有缓存的Engine

2.带有缓存的Engine在application中设置,其中engine_id自定义唯一值,记得要销毁engine

其实到这里都没什么问题,下面遇到坑了,就是和flutter 的插件交互,我用的 pigeon

首先说遇到问题

1自定义的FlutterAppActivity,用上面的方式,不走生命周期,导致无法在定义的页面设置插件

解决:

1.最重要一点要重写FlutterActivity的getInitialRoute方法,这个相当于上面跳转的路由,不设置,页面空白

跳转时,我将路劲存在了INIT_PARAMS中

2.打开方式要修改,上面不适用,可以用原生的Intent跳转到FlutterAppActivity

initParams是跳转路劲

3.自定义的如何使用缓存的engine

上面有图,在application中设置存储

在自定义页面中

到这里打打开页面是完成了,下面时交互

首先Flutter开发给了我一份用pigeon生成的java文件

类似

我们要自定类去实现他

这时候自定的FlutterAppActivity作用体现出来了

我们在自定义的FlutterAppActivity中

setUp使方法生效

当时没有自定义的时候,我将代码写在application中,导致,页面还没打开,flutter就能调用Android方法,等于提前了

Android调用flutter的方法

目前还遇到一个问题,异步的ApiHost我无法调用,解决后会在这里记录原因和解决方法,有知道的可以告诉我一下

在网上看,异步和同步写法一样,只是最后回调时要在主线程,可是我现在连方法都进不去,苦恼

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/637269.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mac Pro中的开源虚拟机UTM安装ubuntu(Applce M1,M2芯片)(2)

第一步,先安装UTM 链接: https://blog.csdn.net/qq_38382925/article/details/139157877?spm1001.2014.3001.5501 1.在虚拟机上安装Ubuntu 1.1 选择第一个,回车 1.2 语言选择english 1.3 选择done continue: 1.4 输入名字、密码等 1.5 选择继续 1.…

正则表达式(知识总结篇)

本篇文章主要是针对初学者,对正则表达式的理解、作用和应用 正则表达式🌟 一、🍉正则表达式的概述二、🍉正则表达式的语法和使用三、 🍉正则表达式的常用操作符四、🍉re库主要功能函数 一、🍉正…

ffmpeg-webrtc(metartc)给ffmpeg添加webrtc协议

这个是使用metrtc的库为ffmpeg添加webrtc传输协议,目前国内还有一个这样的开源项目,是杨成立大佬,大师兄他们在做,不过wili页面维护的不好,新手不知道如何使用,我专门对它做过介绍,另一篇博文&a…

Pytorch深度学习实践笔记1

🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:pytorch深度学习 🎀CSDN主页 发狂的小花 🌄人生秘诀:学习的本质就是极致重复! 《PyTorch深度学习实践》完结合集_哔哩哔哩_bilibi…

MySQL5个查询

# 总查询 EXPLAIN SELECT * FROM city; # 范围查询 EXPLAIN SELECT * from city where ID>5 and ID<20; #主键查询 EXPLAIN SELECT * from city where ID5; # 索引查询 EXPLAIN SELECT * from city where CountryCodeNLD; # 普通索引 EXPLAIn SELECT * from cit…

班组管理新篇章:打造高效沟通机制,助推团队协同发展

班组作为组织的基本单位&#xff0c;其沟通的顺畅与否直接关系到整个组织的运行效率和团队的凝聚力。建立健全的班组管理沟通机制&#xff0c;不仅是提升工作效率的关键&#xff0c;更是推动团队持续发展的核心动力。那么&#xff0c;如何建立健全的班组管理沟通机制呢&#xf…

很耐看的Go快速开发后台系统框架

序言 秉承Go语言设计思路&#xff0c;我们集成框架简单易用、扩展性好、性能优异、兼顾安全稳定&#xff0c;适合企业及初学者用来开发项目、学习。我们框架和市面上其他家设计的不同&#xff0c;简单一步做到的我们不会两步&#xff0c;框架能自动处理&#xff0c;绝不手动处…

华为云之Zabbix监控平台部署实践

华为云之Zabbix监控平台部署实践 一、本次实践介绍1.1 实践环境简介1.3 本次实践完成目标 二、 相关服务介绍2.1 华为云ECS云服务器介绍2.2 Zabbix介绍 三、环境准备工作3.1 预置实验环境3.2 查看预置环境信息 四、登录华为云4.1 登录华为云4.2 查看ECS状态4.3 连接ECS弹性云服…

API 设计超好用工具--Apifox安装

Apifox下载安装教程 Apifox简介Apifox下载Apifox安装 Apifox简介 在这个信息爆炸的时代&#xff0c;技术的快速发展让我们的生活变得更加便捷。然而&#xff0c;随之而来的是各种复杂的问题和挑战&#xff0c;尤其是在API领域。为了解决这些问题&#xff0c;我们迫切需要一个集…

【SQL国际标准】ISO/IEC 9075:2023 系列SQL的国际标准详情

目录 &#x1f30a;1. 前言 &#x1f30a;2. ISO/IEC 9075:2023 系列SQL的国际标准详情 &#x1f30a;1. 前言 ISO&#xff08;国际标准化组织&#xff0c;International Organization for Standardization&#xff09;是一个独立的、非政府间的国际组织&#xff0c;其宗旨是…

再谈毕业论文设计投机取巧之IVR自动语音服务系统设计(信息与通信工程专业A+其实不难)

目录 举个IVR例子格局打开&#xff0c;万物皆能IVR - 把《民法典》搬上IVR IVR系统其实可盐可甜。还能可圈可点。 戎马一生&#xff0c;归来依然IVR。 举个IVR例子 以下是IVR系统的一个例子。 当您拨打电话进入IVR系统。 首先检验是否为工作时间。 如是&#xff0c;您将被送入…

Android 性能为王时代SparseArray和HashMap一争高下

文章目录 一、SparseArray 源码分析1. **类定义和构造函数**2. **基本方法**2.1 put(int key, E value)2.2 get(int key)2.3 delete(int key)2.4 removeAt(int index)2.5 gc()2.6 size()2.7 keyAt(int index) 和 valueAt(int index) 3. **辅助方法**3.1 binarySearch() 二、使用…

【问题记录】QT“类型强制转换“:无法从“ATL::CString“转换为“LPCWSTR“

一&#xff0c;问题现象 环境&#xff1a;VS2019QT 报错提示&#xff1a;“类型强制转换”&#xff1a;无法从"ATL::CString"转换为"LPCWSTR" 二&#xff0c;解决方法 打开项目属性&#xff0c;设置字符集&#xff0c;如下所示&#xff1a;

SQL:学习SQL优化

学习 1.语句 2.原则&#xff08;三条快速记忆&#xff09; 3.常见查询类型 试验 本次试验采用SQL表中的world 数据库中city表来试验 1.查询方法 explain SELECT * FROM city where ID>500 limit 10; #1.all查询&#xff0c;主要是因为查询的键不是District&#xff0c;…

【移花接木】OpenCV4.8 For Java 深度学习 实时人脸检测

学习《OpenCV应用开发&#xff1a;入门、进阶与工程化实践》一书&#xff0c;学会本文所有技能就这么简单&#xff01; 做真正的OpenCV开发者&#xff0c;从入门到入职&#xff0c;一步到位&#xff01; 前言 我写这篇文章之前&#xff0c;我搜索整个网络文章跟问各种语言大模…

【Linux命令】--- 多核压缩命令大全(加快压缩和解压)

在编程的艺术世界里&#xff0c;代码和灵感需要寻找到最佳的交融点&#xff0c;才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里&#xff0c;我们将共同追寻这种完美结合&#xff0c;为未来的世界留下属于我们的独特印记。 【Linux命令】--- 多核压缩命令大全&…

AI播客下载:Dwarkesh Podcast(关于AI的深度访谈)

Dwarkesh Podcast 是由 Dwarkesh Patel 主持的播客&#xff0c;专注于深度访谈和探讨各种复杂且有趣的话题。该播客在业界获得了极高的评价&#xff0c;被认为是对话和思想交流的平台。 Dwarkesh Podcast 的内容涵盖了多个领域&#xff0c;包括经济学、哲学以及科技等。例如&am…

苏州市首批类博物馆授牌,李良济中医药博物馆榜上有名

&#xff15;月18日是国际博物馆日&#xff0c;今年的活动主题是“博物馆&#xff1a;促进社会变化发展的力量”。当天&#xff0c;2024年“518国际博物馆日”苏州主会场活动在苏州御窑金砖博物馆启幕&#xff01; 为了推动全市博物馆蓬勃发展&#xff0c;凝聚社会各方力量&…

微软:最新ChatGPT-4o模型,可在 Azure OpenAI上使用

北京时间5月14日凌晨&#xff0c;OpenAI 一场不到 30 分钟的发布会&#xff0c;正式发布了 GPT-4o&#xff0c;视频语音交互丝滑到吓人&#xff0c;还即将免费可用&#xff01; GPT-4o&#xff0c;其中的「o」代表「omni」&#xff08;即全面、全能的意思&#xff09;&#xff…

某勾求职网逆向分析

搜索目标: aHR0cHM6Ly93d3cubGFnb3UuY29tL3duL2pvYnM/cG49MSZweD1kZWZhdWx0JmZyb21TZWFyY2g9dHJ1ZSZrZD0lRTYlOTUlQjAlRTYlOEQlQUUlRTUlODglODYlRTYlOUUlOTA= 抓包分析 请求和返回都是加密的 请求头部也有未知参数 跟栈分析 请求和返回是一个AES加密,加密的KEY是session s…