2015-10-06 68 views
3

我有一個大項目與不同的建設類型和口味。 它已經在一年多的時間裏生產了,並且我已經做出了更多版本的更新。 今天我需要在項目中實現插件'com.google.gms.google-services',並且無法運行應用程序,因爲INSTALL_PARSE_FAILED_NO_CERTIFICATES。 我確定在構建類型和風格時遇到問題,但在應用插件之前:'com.google.gms.google-services'的一切總是運行良好。請幫助我瞭解可能與Google服務插件衝突的內容。INSTALL_PARSE_FAILED_NO_CERTIFICATES與谷歌服務插件

apply plugin: 'com.android.application' 
    apply plugin: 'io.fabric' 
    apply plugin: 'retrolambda' 
    apply plugin: 'android-apt' 
    apply plugin: 'android' 
    apply plugin: 'com.google.gms.google-services' 

    buildscript { 
     repositories { 
      mavenCentral() 
      mavenLocal() 
      maven { url 'https://maven.fabric.io/public' } 
     } 

     dependencies { 
      classpath 'me.tatarka:gradle-retrolambda:2.4.1' 
      classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4' 
      classpath 'io.fabric.tools:gradle:1.+' 
     } 
    } 

    repositories { 
     mavenCentral() 
     mavenLocal() 
     maven { url 'https://maven.fabric.io/public' } 
     maven { url "https://github.com/taplytics/Taplytics-Android-SDK/raw/master/AndroidStudio/" } 
    } 

    android { 
     compileSdkVersion 23 
     buildToolsVersion "23.0.1" 
     dexOptions { 
      jumboMode = true 
     } 

     defaultConfig { 
      applicationId "com.examplepack.appp" 
      minSdkVersion 14 
      targetSdkVersion 23 
      versionCode 291 
      versionName "1.0.1.291" 
      testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      signingConfig signingConfigs.config 
     } 

     signingConfigs { 
      config { 
       storeFile file('certificate.jks') 
       storePassword 'examplepass' 
       keyAlias 'appl' 
       keyPassword 'examplepass' 
      } 
     } 

     buildTypes { 
      debug { 
       minifyEnabled true 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      } 
      release { 
       minifyEnabled true 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
       signingConfig signingConfigs.config 

      } 
     } 
     productFlavors { 
      stage { 
      } 
      dev { 
      } 
      prod { 
      } 

     } 
     compileOptions { 
      sourceCompatibility JavaVersion.VERSION_1_8 
      targetCompatibility JavaVersion.VERSION_1_8 
     } 
     packagingOptions { 
      exclude 'LICENSE.txt' 
      exclude 'META-INF/LICENSE' 
      exclude 'META-INF/LICENSE.txt' 
      exclude 'META-INF/NOTICE' 
      exclude 'META-INF/MANIFEST.MF' 
     } 

     lintOptions { 
      checkReleaseBuilds false 
      abortOnError false 
     } 
    } 

    apt { 
     arguments { 
      androidManifestFile variant.outputs[0].processResources.manifestFile 
      resourcePackageName "com.examplepack.appp" 
     } 
    } 

    retrolambda { 
     jdk "/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home" 
     oldJdk System.getenv("JAVA6_HOME") 
     javaVersion JavaVersion.VERSION_1_6 
    } 

dependencies { 
............. 
     compile 'com.google.android.gms:play-services:8.1.0' 
    } 

回答

1

有一個known issue與版本1.4-beta2或更新的Gradle插件。

您可以使用較舊的版本爲此工作

+0

坦克。 現在我看到它只發生在我把這兩行 ** classpath'com.google.gms:google-services:1.4.0-beta3'**和** apply插件:'com.google.gms.google - 服務'**完全按照谷歌推薦https://developers.google.com/cloud-messaging/android/client。 我試圖使用較舊的版本:** classpath'com.android.tools.build:gradle:1.3.0**和** com.google.gms:google-services:1.3.0 **但具有相同的錯誤:INSTALL_PARSE_FAILED_NO_CERTIFICATES –

0

我一直在處理這個問題一段時間。我決定嘗試每種com.android.tools.build:gradle和com.google.gms:google-services的組合。

這項工作對我來說:

  • 項目級別:

com.android.tools.build:gradle:1.3.1 com.google.gms:google-services:1.3.1

  • 應用級:

com.google.android.gms:play-services:8.1.0

我還將Google Repository和Sdk Tools升級到最新版本。我正在使用Android Studio 1.4。