web-dev-qa-db-fra.com

Erreur lors de la génération d'un apk signé

J'ai essayé de télécharger mon apk sur Google Play et j'ai rencontré un message d'erreur: "Vous avez téléchargé un fichier APK débogable. Pour des raisons de sécurité, vous devez désactiver le débogage avant de pouvoir le publier dans Google Play. En savoir plus sur les fichiers APK débogables."

Ensuite, j'ai écrit Android:debuggable="false" dans mon manifeste et essayé à nouveau. J'ai rencontré la même erreur, alors j’ai paramétré la variante de construction de mon module pour libérer et générer à nouveau un apk, mais ceci a généré cette erreur:

Error:Gradle: Execution failed for task ':app:lintVitalRelease'.
Lint found fatal errors while assembling a release target.
  To proceed, either fix the issues identified by lint, or modify your build script as follows:
  ...
  Android {
      lintOptions {
          checkReleaseBuilds false
          // Or, if you prefer, you can continue to check for errors in release builds,
          // but continue the build even when errors are found:
          abortOnError false
      }
  }
  ...
147
user3716366

Je ne recommanderais pas de désactiver les contrôles de charpie, ils sont là pour une raison. Au lieu de cela, vérifiez l’erreur et corrigez-la. 

Le rapport d'erreur est enregistré dans [app module]/build/reports/lint-results-yourBuildName-fatal.html. Vous pouvez ouvrir ce fichier dans un navigateur pour en savoir plus sur les erreurs.

Ce serait bien si Gradle pouvait préciser un peu plus l'endroit où le rapport d'erreur est généré.

253
Graydyn Young

J'ai eu ce problème et j'ai contourné en ajoutant 

lintOptions { 

    checkReleaseBuilds false

}

dans mon fichier build.grade dans la section Android{ }.

148
naile

Assurez-vous que vous avez défini toutes les traductions dans tous les fichiers string.xml

45
Roberto

si vous voulez connaître l'erreur exacte, accédez au chemin suivant dans votre projet: /app/build/reports/lint-results-release-fatal.html(or .xml). Le moyen le plus simple est d’avoir recours au fichier XML. Il vous montrera exactement quelle est l’erreur, y compris sa position dans la classe Java ou dans le fichier XML. Désactiver les filtres anti-peluche n'est pas une bonne idée, ils sont là pour une raison. Au lieu de cela, allez à:

    /app/build/reports/lint-results-release-fatal.html or 
    /app/build/reports/lint-results-release-fatal.xml

et le réparer. 

36
Josi

Au cas où vous tenteriez de localiser le problème, j’ai trouvé le mien dans le chemin suivant: /app/build/reports/lint-results-release-fatal.html (ou .xml).

J'espère que cela t'aides!

30
Pecolyte Wang

J'ai rencontré le même problème lors de la création d'un apk signé à partir du studio Android. Je viens de changer petit changement sur build.gradle fichier à l'intérieur Android {}

lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
30
Dhruv Raval
***Try this***

 buildTypes {
        release {
            lintOptions {
                disable 'MissingTranslation'
                checkReleaseBuilds false
                abortOnError false
            }
            minifyEnabled false
            signingConfig signingConfigs.release
        }
    }
19
Amit raj

Essayez ces 3 lignes dans votre fichier app.gradle.

Android {
lintOptions {
    checkReleaseBuilds false
    // Or, if you prefer, you can continue to check for errors in release builds,
    // but continue the build even when errors are found:
    abortOnError false
}
8
Rehan Sarwar

Vous pouvez trouver plus d'informations en choisissant Assembler à partir de l'onglet Construction:  enter image description here

7

Mon problème était une traduction manquante. J'avais un fichier settings.xml qui n'était pas traduit car il n'était pas nécessaire. J'ai donc dû ajouter "translatable =" false "aux chaînes:

<string translatable="false" name="stringname">This string doesn't need translation</string>
6
tomDev

Mon problème était une traduction manquante. J'avais un fichier settings.xml qui n'était pas traduit car il n'était pas nécessaire. J'ai donc dû ajouter "translatable =" false "aux chaînes:

Cette chaîne n'a pas besoin de traduction

5
Harsh Masand

Windows -> références -> Android-> vérification des erreurs de peluche.

un tick Exécuter erreur complète .......

enter image description here

2
Suranga

Supprimez cette déclaration de votre manifeste, Eclipse se chargera de cela à la volée.

1
Eran Goldin

Résoudre ce problème en utilisant ceci dans build.gradle (app). Fichier Inside principal Android {inside}

  buildTypes {
        release {
            lintOptions {
                checkReleaseBuilds false
                abortOnError false
            }
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
1
Keshav Gera

Comment trouver les détails de l'erreur

Anylyze -> Inspecter le code

 enter image description here

Ensuite, dans les résultats de l'inspection, vous verrez une erreur

 enter image description here

Dans mon cas, la construction a échoué en raison d'une référence javadoc non résolue dans Google IAP ????

1
Mikhail

Bonjour les gars, cela a fonctionné pour moi, je viens de modifier mes BuildTypes comme ceci: 

buildTypes {
        release {
            Android {
                lintOptions {
                    checkReleaseBuilds false
                    // Or, if you prefer, you can continue to check for errors in release builds,
                    // but continue the build even when errors are found:
                    abortOnError false
                }
            }
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
1

Allez à build.gradle (module: app)  

lintOptions {
    checkReleaseBuilds false
    // Or, if you prefer, you can continue to check for errors in release builds,
    // but continue the build even when errors are found:
    abortOnError false
}
0
Kaiffi
    lintOptions {
      checkReleaseBuilds false
      abortOnError false
    }

Le code ci-dessus peut résoudre le problème en l'ignorant, mais il peut également entraîner le blocage de l'application.

La bonne réponse est dans le lien suivant:

Erreur lors de la génération d'un apk signé

0
Josi

Essayez ci-dessous code

buildTypes {
    release {
        lintOptions {
            disable 'MissingTranslation'
            checkReleaseBuilds false
            abortOnError false
        }
        minifyEnabled false
        signingConfig signingConfigs.release
    }
}
0

Dans mon cas, le problème était lié au niveau minimal d'API cible requis par Google Play. Il était réglé moins de 26.

Le problème a disparu lorsque j'ai défini le niveau minimal de l'API cible à 26.

0
mdicosimo

Vous devez ajouter le code dans le fichier de niveau de niveau de projet pour générer un remplacement d’apk sur les erreurs

0
Kamal