android - 创建一个使用 google play 服务的 Android 库

标签 android gradle google-cloud-messaging android-gradle-plugin google-play-services

我需要创建一个使用谷歌的 gcm 和位置服务的 Android 库。最初我是在应用程序的模块中完成的,一切都很顺利。

现在我需要创建一个供多个应用程序使用的 Android 库,但我遇到了很多问题:

第一个是我的库没有 google-services.json 文件,因为它应该使用应用程序的模块来配置自己。所以 google play services 插件不适用于库的 build.gradle 文件。

第二个是 google play services 插件似乎检测到我没有在库的 build.gradle 中调用 apply plugin 并默认使用版本库的 9.0.0,即使我将其配置为使用 10.0.1。所以我在运行我的应用程序时也遇到了一个奇怪的问题,Unable to execute dex: Multiple dex files define ...

创建使用 google-play-services 的 Android 库的正确方法是什么,该库也可以与同样使用 google-play-services 的 Android 应用程序共存?

最佳答案

首先,在您的库中,在 build.gradle 中,您必须删除这一行

//apply plugin: 'com.google.gms.google-services'

由于您没有 google-services.json 文件,因此无法使用该插件。
您必须添加所需的依赖项,编译到库就足够了。

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

关于android - 创建一个使用 google play 服务的 Android 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41815707/

相关文章:

android - 如何设置 gradle 和 android studio 来进行发布构建?

android - 如何在 Android Arsenal 上发布 Android Library?

google-app-engine - 在项目中添加自定义域成员作为所有者 - GAE

push-notification - 如何从头开始创建推送通知服务器

java - 在 android 中使用共享首选项尝试保存字符串但在空对象上出现空点异常错误

android - 在 xml 中声明的自定义 View

java - Gradle 错误 : java. lang.String 无法转换为 org.gradle.api.artifacts.Configuration

android - 错误 getGoogleAppId 失败,状态为 : 10 Android KitKat - GCM and Google Drive

android - 在 SQLite 数据库上检索数据时出错

android - cat_desc 标签无法完全解析并且无法在 webview 中正确显示