Flutter 插件开发:导入库

Posted

技术标签:

【中文标题】Flutter 插件开发:导入库【英文标题】:Flutter plugin develoment: importing libraries 【发布时间】:2017-11-26 05:08:23 【问题描述】:

我正在尝试为 Flutter 创建一个 Facebook 登录插件,并且已经运行了本机代码。有一件事我不明白。依赖项、使用权限和元数据到哪里去了?我猜可以将依赖项和权限添加到插件的 android 文件夹中。但是元数据需要一个只有用户才能提供的密钥。所以我不能把它放在我插件的android文件夹中,只能放在使用插件的项目中的android文件夹中。但我需要元数据才能使插件工作。所以我有点卡住了atm。有谁有这方面的经验吗?

【问题讨论】:

【参考方案1】:

可以在插件的build.gradlepodspec添加依赖。虽然如果它依赖于非标准的 Maven 或 CocoaPods 存储库,用户将需要在他们的项目中指定它。

如果需要,用户可以添加权限。与配置文件相同。使用插件的 README 来解释需要做什么。

如果 ios 和 Android 的配置信息(API 密钥等)相同,则将其从 Dart 传递到本机是避免重复的好做法。如果每个平台的配置信息不同,让插件从文件中读取(或在 AppDelegate/Activity 中指定)允许 Dart 不知道它所在的平台。

查看google_sign_in 插件以获得灵感。

【讨论】:

对此还是有点困惑。也许我在发消息。插件和用户项目会作为两个独立的东西工作吗? AndroidManifest.xml 和 strings.xml 是否合并,因为插件知道主项目中的这些文件并可以使用该数据? 您可以根据需要从插件中的用户 AndroidManifest.xml 或 strings.xml 中读取数据。 ***.com/questions/10311890/…***.com/questions/6583843/… 我不是一个真正的安卓人。但是为了进一步简化这个问题:如果我在 androidmanifest 的项目中放置一些元数据,插件是否能够获取该数据并使用它。因此,即项目中 androidmanifest 中的唯一应用程序密钥将被识别并可用于插件?

以上是关于Flutter 插件开发:导入库的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Flutter 包/插件开发中添加资产?

Flutter 蓝牙插件 flutter_blue 坑点记录

flutter 插件引入安卓aar包

flutter插件发布及问题解决

flutter扫码插件,支持自定义

初探Flutter Windows应用及插件