为什么要在库插件上使用新的Android功能插件



Android最近发出了一个新的com.android.feature插件,用于将应用程序拆分为新的Instant应用程序的功能。这似乎是他们通常推荐的架构,而不仅仅是为即时应用程序分配的功能。您可以在这里阅读有关它的用法的一些阅读。

我未能理解的是,该插件实际上与普通android-library插件更好/不同。我问,因为我的团队正合法地考虑将我们的代码分为功能模块,原因与Android Instant Apps无关,而且我不明白使用com.android.feature插件是什么好处。

<</p>

update(截至2019年5月(:对于绊倒这篇文章的任何人,下面的详细信息在很大程度上已经过时了。功能插件(com.android.feature(不再是"新",实际上现在被弃用了启用即时启用的应用捆绑包。在官方博客文章中了解更多信息。

新功能插件(com.android.feature(实际上与现有的库插件(com.android.library(几乎相同,其行为方式和使用方式。

关键区别在于,库插件将始终输出Android存档(AAR(文件,其中功能插件能够在构建目标定位常规Android应用程序(通过插件com.android.application(和用于APK文件时输出AAR文件。当构建针对即时应用程序时(通过插件com.android.instantapp(。

现在有什么好处?当前,您只需要使用功能插件即可构建Google Play Instant(以前称为Android Instant Apps(。如果您不打算为Google Play Instant构建功能插件,现在使用该功能插件的好处最少。一个次要好处可能是您可以为应用程序的每个模块输出APKs,并且可以独立安装和测试。

最新更新