在库中使用外部google-services.json文件

Pao*_*olo 6 android google-authentication google-play-services android-gradle-plugin google-signin

我在我的应用程序中共享一个登录模块,其中一个 LoginActivity处理Facebook和Google身份验证(逻辑+ UI).
现在,通过Facebook,可以轻松地为每个应用指定不同的ID,覆盖facebook_app_id应用模块中的库字符串.

我没有找到与Google登录相同的方法,因为它需要一个google-services.json文件.实际上,如果我将文件包含在应用程序模块中而不是登录库中,则构建将失败.

错误:任务':core:processReleaseGoogleServices'的执行失败.
文件google-services.json丢失了.没有它,Google Services插件无法运行.

错误是不言自明的,我需要 google-services.json在登录模块中.关键是其他应用程序也有自己的google-services.json.

有没有办法可以google-services.json在Login模块中添加一个虚拟对象,然后在真实的应用程序中覆盖它?

Gab*_*tti 15

您不能google-services.json在库中拥有文件.您必须添加所需的依赖项,并且它足以编译到库.

而是在将使用库的项目中,您必须添加插件和google-services.json文件.

要在您的库中执行此操作,build.gradle必须删除该行

//apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)

  • 为了给任何未来的访问者添加这个,我能够通过从主应用程序中获取传递到库中的上下文获取`FirebaseOptions` 来访问我在库中需要的值。这是在主应用程序模块中拥有 google-services.json 和服务依赖项之后。 (2认同)