语境:
我正在尝试为我的应用设置Google Analytics.(有4个自定义buildTypes和多个productFlavors)
当我选择Build Variant具有applicationId设置的com.my.app.package.name(生成时使用的包名称)时,它工作正常google-services.json.但是,我的其他风格有不同的applicationIds.
我按照官方偏离进行设置.
选择任何其他构建变体时Build Variants Tab(我有一个不同的applicationId(包名)如下所示的错误如下:
错误:任务':app:processAllcategoriesDebugfreeGoogleServices'的执行失败.
找不到包名称'com.my.app.package.name.debug'的匹配客户端
错误消息的说明:
在上面的错误消息中的任务名称Debugfree是我的自定义buildType,Allcategories是我的一个productFlavors.
我理解错误并知道包名称与生成json时使用的不同,但这就是我想要解决的问题.
问题:
现在,google-services.json驻留在app文件夹中,因此我无法通过将它们放入特定于风味的源集文件夹中来将它们分离出来.
问题:
byildType调试后缀.debug为applicationId(包名).有没有办法让它可以使用google-services.json我的发布applicationId(即没有后缀.debug)google-services.json文件中配置多个产品风格,而不使用单独的文件和任务将所需文件复制到app文件夹.我知道这是可以做到用task作为中提到的这个帖子.是否有更简单的方法可以根据gradle配置选择一个文件或选择正确的文件?package_name字段中google-services.json有包名com.my.app.package.name.我可以手动添加多个包名称以适用于所有构建变体吗?如果是的话,怎么做?在文档中找不到任何说明.android google-analytics gradle android-studio android-productflavors
我正在尝试按照Google在此处提供的示例将我的Google Play服务依赖项升级到8.4.0 ,但是我收到以下错误('com.example.exampleapp'是我的应用包名称的替代品):
Error:Execution failed for task ':app:processDebugGoogleServices'.
> No matching client found for package name 'com.example.exampleapp'
Run Code Online (Sandbox Code Playgroud)
项目build.gradle:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
classpath 'com.google.gms:google-services:2.0.0-alpha3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
Run Code Online (Sandbox Code Playgroud)
模块app/build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.example.exampleapp"
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName …Run Code Online (Sandbox Code Playgroud) android google-play-services android-studio build.gradle android-gradle-plugin