现在image_picker插件依赖于Android Image Picker Android 库,该库与帮助库 Glide 一起存在于 GitHub 上。 拉入这些库需要使用Jitpack ,它是一个包存储库,可以代理对 GIt 的请求。 Codelab 目前有一个步骤,开发人员通过将以下内容添加到他们的 build.gradle 来启用 Jitpack:
allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" } // new
}
}
如果插件能够知道它们依赖于 Jitpack 存储库并自动添加此依赖关系,那就太好了。 与 iOS 相关,也许插件也可以添加对第三方 Cocoapods 规范存储库的依赖。
修复此限制的不利之处在于,它会使 Flutter 开发人员无法预测他们所有代码的来源。 所以也许这是“按预期工作”? 但是如果他们使用插件,他们已经依赖 pub 来构建。 如果开发人员无需进行 build.gradle 编辑就可以使用插件完成工作,那当然会很好。
优先级较低,因为这可能会以一种不是破坏性 API 更改的方式进行修复。
/cc @mravn-google @mit-mit @jakobr-google @szakarias
仅供参考:此问题导致https://github.com/flutter/plugins/pull/141成为一项重大更改(即使插件 API 未受影响,我只是在插件中添加新的依赖项)。
抄送@mravn-google
最有用的评论
概括此错误以涵盖指定对任何自定义 maven 存储库的依赖项:
maven { url '<maven_repo_url>' }
除了原始的 jitpack 示例,其他类似的案例包括ZenDesk和fabric.io 。