2015-08-18 2 views
2

Я добавил google плюс логин в своем приложении для Android.Gradle productFlavors different applicationId with GooglePlusApi

Я хочу создать apk три разных приложения с продуктомFlavors в gradle.

Когда я создаю apk diffrent applicationId, google plus login не работает.

Я попробовал новый идентификатор клиента в консоли разработчиков с новой ApplicationID, но консоль хочет имяпакет в AndroidManifest.xml

Как я могу войти Google Plus с различным ApplicationID в моем приложении.

Спасибо,

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

Не слушайте консоль и просто пропустите приложение из build.gradle :) –

+0

Спасибо @pengrad – mustafasevgi

+0

Привет, mustafasevgi, вы решили эту проблему? Как вы это исправите? спасибо – User9527

ответ

0

Я думаю, вы должны сгенерировать ключ апи для каждого из вашего вкуса , Имя пакета будет applicationId аромата в вашем файле сборки градации.

1

В соответствии с этим:

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

Я думаю, вы должны:

  1. Укажите имя пакета ("ApplicationID" в build.gradle) для аромата в/типа (как вы сделали) ,
  2. Получите «Отпечаток пальца сертификата подписи SHA1», запустив «keytool» для каждого «хранилища ключей», которое вы используете для подписания APK. Это означает, что по умолчанию «~/.android/debug.keystore» для вашей сборки DEBUG или «хранилище ключей», которое не находится в «build.gradle», но указано вами при запуске «Generate Signed APK» в Android Studio или Eclipse ,
  3. Создайте учетные данные в консоли Google API для каждой комбинации # 1 и # 2.
+0

Вы правы. Я создал совершенно новый демонстрационный проект, и он работает. Просто подумайте, что имя пакета как Application Id отлично. – User9527

Смежные вопросы