为什么使用新的Android功能插件而不是库插件?
Android最近推出了一个新的为什么使用新的Android功能插件而不是库插件?,android,android-instant-apps,Android,Android Instant Apps,Android最近推出了一个新的com.Android.feature插件,用于将应用程序拆分为新的即时应用程序的功能。这似乎是他们普遍推荐的一种架构,而不仅仅是针对你正在拆分的即时应用程序的功能。你可以看看它的用法 我没有理解的是,这个插件实际上比普通的android库插件做得更好/不同。我这样问是因为我的团队正在合法地考虑将我们的代码分成功能模块,原因与Android即时应用程序无关,而且我不明白使用com.Android.feature插件有什么好处。更新(截至2019年5月):对于任何在
com.Android.feature
插件,用于将应用程序拆分为新的即时应用程序的功能。这似乎是他们普遍推荐的一种架构,而不仅仅是针对你正在拆分的即时应用程序的功能。你可以看看它的用法
我没有理解的是,这个插件实际上比普通的android库
插件做得更好/不同。我这样问是因为我的团队正在合法地考虑将我们的代码分成功能模块,原因与Android即时应用程序无关,而且我不明白使用com.Android.feature
插件有什么好处。更新(截至2019年5月):对于任何在这篇文章上遇到障碍的人,下面的细节现在基本上已经过时了。功能插件(com.android.feature
)不再是“新的”,实际上现在已经被弃用,取而代之的是支持即时功能的应用捆绑包。请在官方网站上阅读更多信息。
新的功能插件(com.android.feature
)实际上在行为和使用方式上与现有的库插件(com.android.library
)几乎相同
关键区别在于,库插件将始终输出一个Android存档(AAR
)文件,当构建目标是常规Android应用程序时(通过plugincom.Android.application
),功能插件可以在该文件中输出一个AAR
文件当构建以即时应用程序为目标时(通过plugincom.android.instantapp
),该模块的APK
文件
现在有什么好处?目前,您只需要使用功能插件来构建(以前称为Android即时应用程序)。如果您不打算为Google Play Instant构建功能插件,那么现在使用该功能插件的好处微乎其微。一个小小的好处可能是,您可以为应用程序的每个模块输出
APK
,并可以独立安装和测试它们。还请查看,功能和动态功能之间有什么区别?这与动态交付完全不同吗@伊戈尔加纳波尔斯基-这不是完全不同,但它是不同的。实际上,插件之间有着非常密切的关系(基于com.android.dynamic feature
学习com.android.feature
),加上实际的项目结构将非常相似。有鉴于此,希望将来这两个插件能合并成一个同时支持这两个插件。感谢您的解释。目前,谷歌的Topeka应用程序示例使用com.android.feature,而android动态功能示例使用com.android.Dynamic-feature。所以这两个示例都有一种类似的方法……是的,非常相似的方法和项目结构,但仍然有不同的插件(和不同的输出)。希望他们将来能合并。