微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

扩展cordova gradle文件以包含谷歌服务

我正在尝试将com.google.gms:google-services:3.0.0包含到我的cordova插件中,而不必将其破解到主build.gradle文件中.我已将以下文件添加到我的应用程序中:

集结extras.gradle

buildscript {
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

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

尝试构建应用程序时出现以下错误

* Where:
Script 'platforms/android/build-extras.gradle' line: 11

* What went wrong:
A problem occurred evaluating script.
> Plugin with id 'com.google.gms.google-services' not found.

我尝试使用< framework src =“src / android / build-extras.gradle”custom =“true”type =“gradleReference”/>包括build-extras.gradle.并手动将其复制到平台/ android.

科尔多瓦参考:
https://cordova.apache.org/docs/en/latest/guide/platforms/android/#extending-buildgradle

Google参考:
https://developers.google.com/identity/sign-in/android/start-integrating

如果我从build-extras.gradle中获取相同的代码并直接追加到build.gradle的末尾,它似乎可行.有关如何在build-extras.gradle文件中使用此功能的任何想法?

解决方法

你必须用你的build-extras.gradle包装

ext.postBuildExtras = { //... your gradle supplement }

以下是build-extras.gradle文件的示例:

ext.postBuildExtras = {
    android {
        packagingOptions {
            exclude 'meta-inf/DEPENDENCIES'
            exclude 'meta-inf/LICENSE'
            exclude 'meta-inf/LICENSE.txt'
            exclude 'meta-inf/license.txt'
            exclude 'meta-inf/NOTICE'
            exclude 'meta-inf/NOTICE.txt'
            exclude 'meta-inf/notice.txt'
            exclude 'meta-inf/ASL2.0'
        }

    }
    dependencies {
        compile files('libs/httpclient-4.5.4.jar','libs/httpcore-4.4.7.jar')
    }
}

并将其放在与build.gradle文件相同的文件夹下.
在Cordova Android v7.0.0之后,你应该这样放置它:

$PROJECT_PATH/platforms/android/app/build.gradle
$PROJECT_PATH/platforms/android/app/build-extras.gradle

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐