Ich habe versucht, meine Apk auf Google Play hochzuladen, und es ist eine Fehlermeldung aufgetreten: "Sie haben eine debuggbare APK hochgeladen. Aus Sicherheitsgründen müssen Sie das Debuggen deaktivieren, bevor es in Google Play veröffentlicht werden kann. Weitere Informationen zu debuggbaren APKs."
Dann schrieb ich android:debuggable="false"
in mein Manifest und versuchte es erneut. Ich habe den gleichen Fehler festgestellt, daher habe ich die Build-Variante von meinem Modul auf "Freigeben" gesetzt und erneut versucht, eine Apk zu generieren. Diesmal wird jedoch dieser Fehler generiert:
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
}
}
...
Antworten:
Ich würde nicht empfehlen, die Flusenprüfungen auszuschalten, sie sind aus einem bestimmten Grund da. Überprüfen Sie stattdessen den Fehler und beheben Sie ihn.
Der Fehlerbericht wird in gespeichert
[app module]/build/reports/lint-results-yourBuildName-fatal.html
. Sie können diese Datei in einem Browser öffnen, um Informationen zu den Fehlern zu erhalten.Es wäre schön, wenn Gradle etwas klarer machen könnte, wo der Fehlerbericht generiert wird.
quelle
gradlew lint
oder über eine IDE zu generieren , siehe developer.android.com/studio/write/lintfix the issues identified by lint
aber diese Fehler oder den zuMissingTranslation: Incomplete translation
- Frage an Google: Warum wird dies nicht in Android Studio angezeigt? Es heißt aintegrated development environment
aus einem Grund.Ich hatte dieses Problem und löste es durch Hinzufügen von:
zu meiner
build.gradle
Datei innerhalb desandroid{ }
Abschnitts.quelle
Wenn Sie den genauen Fehler herausfinden möchten, gehen Sie in Ihrem Projekt zum folgenden Pfad: /app/build/reports/lint-results-release-fatal.html (oder .xml). Der einfachste Weg ist, wenn Sie zur XML-Datei gehen, sie zeigt Ihnen genau, was der Fehler ist, einschließlich der Position des Fehlers in Ihrer Java-Klasse oder XML-Datei. Das Ausschalten der Flusenprüfungen ist keine gute Idee, sie sind aus einem bestimmten Grund da. Gehen Sie stattdessen zu:
und reparieren Sie es.
quelle
Stellen Sie sicher, dass Sie alle Übersetzungen in allen
string.xml
Dateien definiert habenquelle
Für den Fall, dass Sie versuchen, das Problem zu finden, habe ich es im folgenden Pfad meines Projekts gefunden: /app/build/reports/lint-results-release-fatal.html (oder .xml).
Hoffe das hilft!
quelle
Ich habe das gleiche Problem beim Erstellen von signierten apk aus Android Studio konfrontiert. Ich ändere nur ein wenig an der build.gradle- Datei in android {}
quelle
So finden Sie Fehlerdetails
Anylyze -> Code überprüfen
Dann sehen Sie in den Prüfergebnissen einen Fehler
In meinem Fall schlug die Erstellung aufgrund einer ungelösten Javadoc-Referenz in Google IAP fehl
quelle
quelle
Weitere Informationen zur Auswahl von Assemble finden Sie auf der Registerkarte Gradle Build:
quelle
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 }
und ich habe es hinzugefügt, aber ich habe den gleichen Fehler in jedem Mal, wenn ich eine Veröffentlichung baueProbieren Sie diese 3 Zeilen in Ihrer app.gradle-Datei aus.
quelle
Mein Problem war eine fehlende Übersetzung. Ich hatte eine settings.xml, die nicht übersetzt wurde, da sie nicht benötigt wurde, also musste ich den Zeichenfolgen "translatable =" false "hinzufügen:
Diese Zeichenfolge muss nicht übersetzt werden
quelle
Hallo Leute, das hat bei mir funktioniert. Ich ändere meine BuildTypes einfach so:
quelle
Finden Sie einfach den Fehlergrund hier und beheben Sie ihn.
quelle
TargetSdkVersion No Longer Supported: Google Play requires that apps target API level 26 or higher.
in meinem Log gefunden, dh kann nichttargetSdkVersion
25 setzen .Mein Problem war eine fehlende Übersetzung. Ich hatte eine settings.xml, die nicht übersetzt wurde, da sie nicht benötigt wurde, also musste ich den Zeichenfolgen "translatable =" false "hinzufügen:
quelle
Wie viele Leute vorgeschlagen haben, ist es immer besser, den Fehler aus der Quelle zu beheben. Überprüfen Sie die fusselförmige Datei
Lesen Sie die Datei und Sie werden dahin geführt, woher der Fehler kommt. Schauen Sie sich meine an: Der Fehler ist auf eine falsche Ansichtsbeschränkung zurückzuführen.
quelle
Lösen Sie dieses Problem, indem Sie dies in der Datei build.gradle (app) Inside main Android {inside} verwenden.
quelle
Versuchen Sie es mit dem folgenden Code
quelle
Fügen Sie dies in Android {} build.gradle (Modul: App)
quelle
Windows -> Referenzen -> Android-> Flusenfehlerprüfung.
un tick Vollständigen Fehler ausführen .......
quelle
Gehen Sie zu build.gradle (Modul: App)
quelle
Entfernen Sie diese Aussage vollständig aus Ihrem Manifest. Eclipse erledigt dies für Sie im laufenden Betrieb.
quelle
Sie sollten den Code in die Gradle-Datei auf Projektebene einfügen, um das Überschreiben von Apk-Fehlern zu generieren
quelle
In meinem Fall hing das Problem mit der Mindestziel-API-Stufe zusammen, die von Google Play benötigt wird. Es wurde weniger als 26 eingestellt.
Das Problem ist verschwunden, als ich die minimale Ziel-API-Stufe auf 26 festgelegt habe.
quelle
Der obige Code kann das Problem beheben, indem er ignoriert wird. Er kann jedoch auch zum Absturz der App führen.
Die gute Antwort finden Sie im folgenden Link:
Fehler beim Generieren der signierten apk
quelle
Wenn Sie in app.gradle unter Android hinzufügen {
}}
Es wird Arbeit bekommen
quelle