0

Je suis très nouveau dans le monde android et j'essayais simplement de lancer une application simple hello world sur mon téléphone. quand j'ai essayé ceci, j'ai appris que l'APK généré par un studio android est un non signé. Donc, pour signer cela, je suis passé par le processus de création d'un magasin de clés, puis une clé privée, son alias et j'ai réussi à signer l'APK et l'installation sur mon téléphone et l'exécuter aussi.Android studio - ajout de configurations de signature pour graduer

Ensuite, je suis passé par this link pour ajouter des configurations de signature au gradle pour signer automatiquement la version avec le fichier de stockage de clés nouvellement créé. J'ai suivi les étapes n le lien ci-dessus correctement et ne rien manquer mais quand je finis mes configurations de signature j'ai une erreur disant

Gradle project sync failed.Basic functionality(eg. editing, debugging) will not work properly.

Error:(19, 0) Could not find property 'config' on SigningConfig container.

je pris par surprise! et maintenant je ne suis pas capable de signer mes APK manuellement aussi. Maintenant, quand je tente de me connecter, il dit manuellement le gradle est pas synchronisé

Je suppose que ce fichier sera utile pour me aider à résoudre cette erreur. build.gradle du projet. J'essaie de comprendre ce qui est mentionné ici est le même que celui que j'ai configuré à travers l'interface utilisateur Android Studio tout en faisant les configurations de signature.

apply plugin: 'com.android.application' 

android { 
    signingConfigs { 
     release { 
      storeFile file("<path>\\firstKeystore.jks") 
      storePassword "******" 
      keyAlias "usual password" 
      keyPassword "******" 
     } 
    } 
    compileSdkVersion 19 
    buildToolsVersion '20.0.0' 
    defaultConfig { 
     applicationId 'com.tech.vasanth.newsfeed' 
     minSdkVersion 19 
     targetSdkVersion 19 
     versionCode 1 
     versionName '1.0' 
    } 
    buildTypes { 
     release { 
      runProguard false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      signingConfig signingConfigs.config 
      debuggable false 
      jniDebugBuild false 
      renderscriptDebugBuild false 
      zipAlign true 
     } 
     debug { 
      signingConfig signingConfigs.config 
     } 
    } 
    productFlavors { 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
} 

Répondre

1

Il y a une erreur dans le bloc buildTypes.release. La configuration de la signature doit être:

signingConfig signingConfigs.release 

Notez que ceci est la façon dont vous avez nommé la configuration dans le bloc signingConfigs ci-dessus.

Également laisser la config de signature dans le bloc buildTypes.debug (ou, si vous voulez vraiment l'avoir, réglez comme ci-dessus).

+0

J'ai fait des changements comme vous avez suggéré et maintenant je reçois l'erreur à cette ligne dans buildTypes.debug signingConfig signingConfigs.config puis-je supprimer cela? –

+0

Oui, comme je l'ai déjà dit dans ma réponse. – Henry

+0

oh ouais .. merci, ça a marché! une chose que je veux savoir est, j'ai donné un lien ci-dessus à droite? en ce que j'ai utilisé l'interface utilisateur du studio pour configurer les configurations de signature. donc à la place je peux le faire en configurant le build.gradle aussi? les deux sont un et la même chose? –

0

J'ai utilisé les configurations ci-dessous pour Debug/Release.

signingConfigs { 
      release { 
       keyAlias 'keyAlias' 
       keyPassword 'keyPassword' 
       storePassword 'storePassword' 
       storeFile file("${rootDir}/keystores/app.keystore") 
      } 

      debug { 
       storeFile file("${rootDir}/keystores/debug.keystore") 
       keyAlias 'androiddebugkey' 
       keyPassword 'android' 
       storePassword 'android' 
      } 
     } 

Lors de la définition d'un module de sortie:

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

Note: Ici rootDir est votre répertoire racine du projet. Veuillez stocker votre fichier de clés dans le répertoire mentionné.