0

Ich bin sehr neu in der Android-Welt, und ich habe versucht, nur eine einfache Hallo Welt App auf meinem Handy zu laufen. Als ich das ausprobierte, erfuhr ich, dass die von einem Android-Studio generierte APK eine nicht signierte ist. Um dies zu signieren, habe ich einen Keystore erstellt und dann einen privaten Schlüssel, seinen Alias ​​und ich war erfolgreich beim Signieren des APK und der Installation auf meinem Telefon und dem Ausführen von ihm.Android Studio-Hinzufügen von Signing-Konfigurationen zu Gradle

Dann ging ich durch this link zum Hinzufügen von Signierungskonfigurationen zu der Gradle, um die Freigabe automatisch mit der neu erstellten Schlüsselspeicherdatei zu signieren. Ich habe die Schritte n den Link oben richtig gefolgt und haben nichts vermisst, aber immer noch, wenn ich meine Unterzeichnung Konfigurationen beenden habe ich eine Fehlermeldung,

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

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

ich von einem überrascht war! und jetzt kann ich meine APKs auch nicht manuell signieren. Jetzt, wenn ich versuche manuell zu unterschreiben, sagt es die gradle ist nicht synchron

Ich denke, diese Datei von Hilfe sein wird, mir zu helfen, diesen Fehler zu beheben. build.gradle des Projekts. Ich versuche zu verstehen, dass das, was hier erwähnt wird, dasselbe ist wie das, das ich über die Benutzeroberfläche von Android Studio konfiguriert habe, während ich die Signierungskonfigurationen gemacht habe.

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']) 
} 

Antwort

1

Es ist ein Fehler in dem buildTypes.release Block. Die Unterzeichnung Config sollte sein:

signingConfig signingConfigs.release 

Beachten Sie, dass dies, wie Sie die Konfiguration im signingConfigs Block oben genannten.

Auch lassen Sie die Signatur-Konfiguration im buildTypes.debug Block (oder, wenn Sie es wirklich haben wollen, setzen Sie es wie oben).

+0

Ich habe Änderungen vorgenommen, wie Sie vorgeschlagen haben, und jetzt bekomme ich den Fehler in dieser Zeile in buildTypes.debug signingConfig signingConfigs.config kann ich das entfernen? –

+0

Ja, wie ich schon in meiner Antwort gesagt habe. – Henry

+0

oh yeah .. danke, es hat funktioniert! eine Sache, was ich wissen will ist, habe ich einen Link oben rechts gegeben? Ich habe die Benutzeroberfläche des Studios verwendet, um die Signierungskonfigurationen zu konfigurieren. also kann ich es stattdessen tun, indem ich die build.gradle auch konfiguriere? beide sind ein und dasselbe? –

0

Ich habe unten Konfigurationen für Debug/Release verwendet.

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' 
      } 
     } 

Bei der Definition Release-Modul:

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

Hinweis: Hier rootDir ist Ihr Projekt-Stammverzeichnis. Bitte speichern Sie Ihren Schlüsselspeicher im genannten Verzeichnis.