热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java–使用平台通道在Flutter中调用本机库

使用platformchannels,Flutter可以与本机平台互操作(即读取电池电量).在Android上,这需要调用Java方法.我想使用第三方JavaSDK(适用于AW

使用platform channels,Flutter可以与本机平台互操作(即读取电池电量).在Android上,这需要调用Java方法.

我想使用第三方Java SDK(适用于AWS Cognito).我可以将这个库放在我/ android中的某个地方,并与之交互吗?如果是这样,我该怎么做?

解决方法:

如果您还没有启动插件项目,请创建一个.

在某处收集第三方罐子 – 不要将它们放在pluginproject / android / …文件夹中.

在IDE中打开插件项目 – 在我的案例中是IDEA – 并将第三方jar添加到Java类路径中. (在IDEA中,单击Project Structure / Modules /选择pluginName_android / Dependencies选项卡/ green PlusSign / jars或目录 – 并选择单个jar或整个文件夹.将范围保留为编译,不要检查导出.)

在pluginproject / android / src / main / java / com / yourcompany … / … / PluginnamePlugin.java中用Java(或Kotlin)实现你的特定于android的代码,你现在可以在这里使用由第三方罐子.

将依赖项添加到gradle以便它将进行编译.在pluginproject / android / build.gradle中(注意 – 有几个build.gradles)在最后添加 – 在android {}部分之后

dependencies {
implementation files('../../../java/someapi/somejar.jar')
}

该路径必须相对于pluginproject / android文件夹.您可以使用此语法指定整个文件夹

implementation fileTree(dir: '../../../somewhere/somefolder', include: ['*.jar'])

运行插件项目中提供的示例应用程序.

我不确定为什么不可能将第三方jar放入pluginproject / android / lib,但是这会导致我的dex错误,而将它们留在pluginproject /文件夹之外.

我只使用过乖巧的第三方罐子(没有JNI,不创建自己的Threads等).


推荐阅读
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • c# – UWP:BrightnessOverride StartOverride逻辑 ... [详细]
  • 本文介绍如何通过Windows批处理脚本定期检查并重启Java应用程序,确保其持续稳定运行。脚本每30分钟检查一次,并在需要时重启Java程序。同时,它会将任务结果发送到Redis。 ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 本文探讨了如何通过最小生成树(MST)来计算严格次小生成树。在处理过程中,需特别注意所有边权重相等的情况,以避免错误。我们首先构建最小生成树,然后枚举每条非树边,检查其是否能形成更优的次小生成树。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 优化ASM字节码操作:简化类转换与移除冗余指令
    本文探讨如何利用ASM框架进行字节码操作,以优化现有类的转换过程,简化复杂的转换逻辑,并移除不必要的加0操作。通过这些技术手段,可以显著提升代码性能和可维护性。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 本文介绍如何在 Xcode 中使用快捷键和菜单命令对多行代码进行缩进,包括右缩进和左缩进的具体操作方法。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • Android 渐变圆环加载控件实现
    本文介绍了如何在 Android 中创建一个自定义的渐变圆环加载控件,该控件已在多个知名应用中使用。我们将详细探讨其工作原理和实现方法。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
author-avatar
小Q理性的激情农_885
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有