处理权限:将大型应用程序的一个活动变成即时应用程序



我被要求在我正在开发的基础应用程序中,从play store中创建一个可打开的即时应用程序模块。

基础应用程序很大,有很多活动。它还使用了比即时应用程序所允许的权限多得多的权限。

我是否可能只从一个只使用允许权限的活动中创建即时应用程序模块?

如果是,我该怎么做?

换句话说,即使基础应用程序使用了更多的权限,我也可以在即时应用程序模块(instant/AndroidManifest.xml)的清单文件中声明允许的权限吗?

我问这个问题是因为官方文档没有提到在instant/AndroidManifest.xml 中声明权限的方法

换句话说,我可以在清单中声明允许的权限吗即时应用程序模块的文件(instant/AndroidManifest.xml)尽管基础应用程序使用了更多的权限?

是的,您可以声明仅存在于com.android.feature模块中的权限。这与你的主清单没有什么不同,请参阅谷歌样本/android即时应用程序/analytic/feature/AndroidManifest.xml 中的一个示例

注意:如果此功能也是通过应用程序模块渐变中的implementation project(':feature')安装的应用程序的一部分,那么它的清单内容将被合并,包括权限,因此您不需要复制这些权限

但是,随着您的权限在即时应用程序和已安装应用程序之间的多样化,您可能会遇到Google Play控制台错误-不可升级到已安装的应用程序错误,您必须注意。只需确保您的权限、使用功能和使用隐含功能(即播放过滤器)在它们之间同步,这样安装的应用程序的目标设备就不会比即时应用程序窄。

最新更新