使用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等).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。