2014-02-23 4 views
11

Ich versuche, Gradle einzurichten, um eine Google Play Store-Version in Android Studio 0.4.5 zu erstellen. In den Einstellungen verwende ich den Standard-Wrapper. Ich habe das Dialogfeld "Projekteigenschaften" verwendet, um den Signaturtyp "config" und den Buildtyp "release" einzurichten. Ich habe nur ein Build-Modul. Hier ist die build.gradle-Datei, die in Folge:Erstellungsskriptfehler, nicht unterstützte Gradle DSL-Methode gefunden: 'signingConfig()'

apply plugin: 'android' 

android { 
    compileSdkVersion 19 
    buildToolsVersion '19.0.1' 
    defaultConfig { 
     minSdkVersion 15 
     targetSdkVersion 19 
     versionCode 10 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      runProguard true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
      debuggable false 
      signingConfig playstore 
      proguardFile 'proguard-rules.txt' 
     } 
    } 
    signingConfigs { 
      playstore { 
      keyAlias 'mykeyalias' 
      storeFile file('playstore.jks') 
      keyPassword 'xxxxx' 
      storePassword 'xxxxx' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar', '*.aar']) 
    compile 'com.android.support:support-v4:+' 
    compile files('libs/libGoogleAnalyticsServices.jar') 
} 

Aber ich erhalte die folgende Fehlermeldung, wenn gradle zu synchronisieren versucht:

Build script error, unsupported Gradle DSL method found: 'signingConfig()'! 
      Possible causes could be: 
      - you are using Gradle version where the method is absent 
      - you didn't apply Gradle plugin which provides the method 
      - or there is a mistake in a build script 

Gibt es etwas, ich brauche die richtige gradle Setup zu tun?

Vielen Dank im Voraus.

+0

Vielleicht Sie verwenden zu alt eine Android-Plugin-Version? Kannst du den "Buildscript" -Block zeigen, der das Android-Plugin einbringt? –

Antwort

12

Zuerst definieren Sie Ihre SigningConfigs vor Ihrem buildTypes Block. Auch playstore Methode ist innerhalb signingConfigs so müssen Sie eine Referenz in einer Art wie signingConfigs.playstore geben.

Ihre letzte build.gradle Datei soll wie folgt aussehen:

apply plugin: 'android' 

android { 
    compileSdkVersion 19 
    buildToolsVersion '19.0.1' 
    defaultConfig { 
     minSdkVersion 15 
     targetSdkVersion 19 
     versionCode 10 
     versionName "1.0" 
    } 

    signingConfigs { 
      playstore { 
       keyAlias 'mykeyalias' 
       storeFile file('playstore.jks') 
       keyPassword 'xxxxx' 
       storePassword 'xxxxx' 
     } 
    } 


    buildTypes { 
     release { 
      runProguard true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
      debuggable false 
      signingConfig signingConfigs.playstore 
      proguardFile 'proguard-rules.txt' 
     } 
    } 

} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar', '*.aar']) 
    compile 'com.android.support:support-v4:+' 
    compile files('libs/libGoogleAnalyticsServices.jar') 
} 
+4

Danke. Das hat wie ein Zauber funktioniert. Ich finde es frustrierend, dass ich den Android Studio-Projekteigenschaften-Dialog verwendet habe, um signingConfigs einzurichten und die signingConfigs * nach * buildTypes in die build.gradle-Datei zu schreiben. Ich sollte das wahrscheinlich mit Google als Bug ablegen. – NLam

+1

ist es? Sicher einen Fehler ablegen, damit das Team davon erfährt und es in den nächsten Releases lösen könnte. – pyus13

Verwandte Themen