2017-10-13 2 views
1

J'ai examiné un certain nombre de messages sur ce sujet,erreur Gradle - Impossible de trouver la méthode storeFile() pour les arguments/chemin/vers/storeFile

pour entrées. Mais je ne peux toujours pas passer l'erreur Gradle Error:(69, 0) Could not find method storeFile() for arguments [/path/to/my.keystore] en ligne 69:

storeFile file(keystoreProperties['storeFile']) 

dans le module fichier build gradle - contenu de mon module fichier gradle.build:

apply plugin: 'com.android.application' 
apply plugin: 'signing' 

android { 

    ... 

    buildTypes { 

     ... 

     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 

      def keystorePropertiesFile = rootProject.file("keystore.properties"); 
      def keystoreProperties = new Properties() 
      keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) 
      storeFile file(keystoreProperties['storeFile']) 
      storePassword keystoreProperties['storePassword'] 
      keyAlias keystoreProperties['keyAlias'] 
      keyPassword keystoreProperties['keyPassword'] 

     } 

     ... 

    } 

    ... 

} 

... 

où je charge le fichier keystore.properties (situé dans la racine du projet), qui contient:

storeFile=/path/to/my.keystore 
storePassword=storepwd 
keyPassword=keypwd 
keyAlias=keyalias 

Comme vous pouvez le voir, j'ai un constructeur de fichier dans la référence storeFile dans le fichier et gradle.build un chemin vers le fichier de clés dans le fichier de propriétés.

Où est l'erreur, ou ce qui me manque, ne pas comprendre?

Référence

  • Android 2.3.3
  • studio
  • Gradle la version 4,1

Répondre

3

Vous devez ajouter ce DSL dans le bloc signing pas dans le bloc buildTypes.

signingConfigs { 
     release { 
      storeFile file(keystoreProperties['storeFile']) 
      storePassword keystoreProperties['storePassword'] 
      keyAlias keystoreProperties['keyAlias'] 
      keyPassword keystoreProperties['keyPassword'] 

     } 
    }