Gradle productFlavors与GooglePlusApi的不同applicationId

时间:2015-08-18 06:42:19

标签: android gradle google-plus-signin

我在Android应用中添加了google plus登录。

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

当我创建apk diffrent applicationId时,google plus login不起作用。

我在开发者控制台中使用新的applicationId尝试了新的客户端ID,但是控制台需要在AndroidManifest.xml中使用packagename

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

谢谢,

enter image description here

// gradle这个

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">

2 个答案:

答案 0 :(得分:1)

根据这个:

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

我认为你应该:

  1. 为每种风味/类型指定包名称(&#34; applicationId&#34;在build.gradle中)(正如您所做的那样)。
  2. 获取&#34; SHA1签名证书指纹&#34;通过运行&#34; keytool&#34;对于每个&#34;密钥库&#34;你用来签署APK。这意味着默认&#34;〜/ .android / debug.keystore&#34;对于您的DEBUG构建,或者&#34;密钥库&#34;这不在&#34; build.gradle&#34;但是在运行时由你指定&#34;生成签名APK&#34;在Android Studio或Eclipse中。
  3. 在Google API控制台上为#1和#2的每个组合创建凭据。

答案 1 :(得分:0)

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