2

我在我的 android 应用程序中添加了 google plus 登录。

我想在 gradle 中使用 productFlavors 创建 apk 三个不同的 applicationId。

当我创建 apk 不同的 applicationId 时,google plus 登录不起作用。

我在开发人员控制台中使用新的 applicationId 尝试了新的客户端 ID,但控制台需要 AndroidManifest.xml 中的包名

我如何在我的应用程序中使用不同的 applicationId 登录 google plus。

谢谢,

在此处输入图像描述

//梯度

compileSdkVersion 22
    buildToolsVersion "21.1.2"
    defaultConfig {
        minSdkVersion 18
        targetSdkVersion 21
    }
    productFlavors {
        development {
            applicationId "com.msevgi.myapp.development"
            versionCode 46
            versionName "1"
            flavorDimension "type"
        }

        beta {
            applicationId "com.msevgi.myapp"
            versionCode 46
            versionName "1"
            flavorDimension "type"

        }
        internal {
            applicationId "com.msevgi.myapp.internal"
            versionCode 46
            versionName "1"
            flavorDimension "type"
        }
    }

    buildTypes {
        release {
            zipAlignEnabled true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-android-optimize.txt'
            debuggable false
        }
        debug {
            zipAlignEnabled true
            debuggable true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-android-optimize.txt'
        }
    }

//AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.msevgi.myapp">
4

2 回答 2

1

根据这个:

"that matches a package name and SHA1 signing-certificate fingerprint"

我觉得你应该:

  1. 为每个风味/类型指定一个包名称(build.gradle 中的“applicationId”)(如您所做的那样)。
  2. 通过为您用于签署 APK 的每个“密钥库”运行“keytool”来获取“SHA1 签名证书指纹”。这意味着您的 DEBUG 构建的默认“~/.android/debug.keystore”,或者不在“build.gradle”中但由您在 Android Studio 或 Eclipse 中运行“Generate Signed APK”时指定的“keystore” .
  3. 在 Google API 控制台上为 #1 和 #2 的每个组合创建一个凭据。
于 2015-10-14T02:43:08.990 回答
0

我认为您应该为每种口味生成一个 api 密钥。包名称将是您的 gradle 构建文件中风味的 applicationId。

于 2015-08-18T07:28:01.987 回答