Ich habe versucht, meine Standard- / Haupt- / Startaktivität (wie auch immer Sie sie nennen) durch Bearbeiten der androidmanifest.xml
Datei zu ändern . Alles was ich getan habe war das android:name
Eigentum zu ändern . Dies hat jedoch die gesamte App komplett zerstört. Wenn ich versuche zu installieren, schlägt es fehl und liest.
Installationsfehler: INSTALL_PARSE_FAILED_NO_CERTIFICATES
Als ich versuchte, es wieder in den vorherigen Zustand zu versetzen, gab es immer noch den gleichen Fehler ... Was habe ich getan?
android
installation
apk
android-install-apk
mtmurdock
quelle
quelle
INSTALL_PARSE_FAILED_NO_CERTIFICATES
Ist ein Fehler-103
, den Sie überadb log
( src ) erhalten / sehen können, z.D/PackageInstaller(21320): Installation error code: -103
Antworten:
Haben Sie das
AndroidManifest.xml
direkt in der.apk
Datei bearbeitet ? Wenn ja, wird das nicht funktionieren.Jedes Android
.apk
muss signiert sein, wenn es auf einem Telefon installiert werden soll , auch wenn Sie nicht über den Markt installieren. Die Entwicklungstools umgehen dies, indem sie mit einem Entwicklungszertifikat signieren, das.apk
jedoch noch signiert ist.Eine Verwendung davon ist, dass ein Gerät erkennen kann, ob
.apk
es sich um ein gültiges Upgrade für eine installierte Anwendung handelt, da die Zertifikate identisch sind, wenn dies der Fall ist.Wenn Sie also Änderungen an Ihrer App vornehmen, müssen Sie diese neu erstellen,
.apk
damit sie ordnungsgemäß signiert wird.quelle
flutter clean
und rennen / debuggen Sie erneut! Dieser Vorgang ähnelt der obigen Lösung, da der Build-Ordner bereinigt und die Build-Datei beim Ausführen / Debuggen erneut erstellt wird!Ich habe festgestellt, dass dieser Fehler jetzt auch bei Verwendung der falschen Signaturkonfiguration auftreten kann. Wie hier beschrieben , führt Android 7.0 ein neues Signaturschema ein, V2 . Das V2-Schema signiert die gesamte APK und nicht nur die JAR, wie dies im V1-Schema der Fall ist. Wenn Sie nur mit V2 signieren und versuchen, auf einem Ziel vor 7.0 zu installieren, wird dieser Fehler angezeigt, da die JARs selbst nicht signiert sind und der PackageManager vor 7.0 das Vorhandensein der V2-APK-Signatur nicht erkennen kann.
Um mit allen Zielsystemen kompatibel zu sein, stellen Sie sicher, dass die APK mit beiden Schemata signiert ist, indem Sie beide Signaturversionsfelder im Dialogfeld " Signierte APK generieren" von Android Studio wie hier gezeigt aktivieren:
Wenn nur 7.0-Ziele erwartet werden, muss die V1-Signatur nicht enthalten sein.
quelle
Ich habe festgestellt, dass dies durch meine JDK-Version verursacht wurde.
Ich hatte dieses Problem mit 'Ameise' und es war auf diese in der Dokumentation erwähnte VORSICHT zurückzuführen:
Ich habe JDK 7. In meinem Ant-Protokoll habe ich -v für ausführlich verwendet und es wurde angezeigt
Ich habe die JAR manuell signiert und zipaligniert, aber es gab einen etwas anderen Fehler:
Ich fand das hier beantwortet.
Umgang mit INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES ohne Deinstallation
Ich musste es nur deinstallieren und dann funktionierte es!
Jetzt muss ich nur noch die build.xml ändern, um diese Optionen beim Signieren zu verwenden!
Ok, hier ist es: C: \ Programme \ Java \ android-sdk \ tools \ ant \ build.xml
quelle
Meistens ist die Lösung für diesen Fehler wirklich einfach:
quelle
gelöst (für mich) mit in keytool die args
und in jarsigner verwenden
Lösung gefunden in
Welche Art von Pitfals gibt es für die Android APK-Signatur?
quelle
Ich stand auch vor dem gleichen Problem. Zuerst habe ich Build mit V2 generiert und auf Mobilgeräten unter OS 5.1 installiert, und ich habe das gleiche Problem. Aber Build funktionierte gut auf Tablet unter OS 7.0. Also habe ich einen Build mit V1 Jar-Signatur generiert und es hat auf beiden Geräten einwandfrei funktioniert.
Schlussfolgerung: Wenn Sie das Gerät unter Android OS 7.0 unterstützen. Verwenden Sie die V1-JAR-Signatur, um den Build zu generieren.
quelle
In meinem Fall konnte ich Release-Builds erstellen und ausführen, bekam jedoch den
INSTALL_PARSE_FAILED_NO_CERTIFICATES
Fehler, als ich versuchte, einen Debug-Build durchzuführen.Die Lösung bestand darin, meine
debug.keystore
Datei zu löschen und von ADT neu erstellen zu lassen. Es war anscheinend abgelaufen.Eine bessere langfristige Lösung besteht darin, explizit eine zu erstellen
debug.keystore
, die nicht nach nur einem Jahr abläuft, anstatt sie von ADT erstellen zu lassen. Hier ist der Befehl dazu:Wenn Sie dazu aufgefordert werden, geben Sie folgende Werte ein:
quelle
Dies ist eine hässliche, aber schnelle Lösung: Verwenden Sie JDK 6 anstelle von 7.
Nachdem ich Chloes Antwort gelesen hatte, deinstallierte ich mein JDK 7 (brauche es derzeit sowieso nicht) und installierte JDK 6. Das hat es behoben. Eine bessere Lösung würde dazu führen, dass ant JDK 6 verwendet (ohne 7 zu deinstallieren). Möglicherweise ist es möglich, diese Eigenschaft zu ändern / einzustellen:
java.library.path
in der Datei local.properties. Es befindet sich im Projektverzeichnis (root).
Android funktioniert sowieso nicht mit JDK 7 (nur 6 oder 5), daher ist es wahrscheinlich eine gute Lösung, dass das Ant-Skript auch JDK 6 oder 5 verwendet.
quelle
Dies liegt daran, dass zuvor generierte Builds und aktuelle Konflikte in der Signaturversion zwischen v1 (JAR-Signatur) und v2 (vollständige APK-Signatur) auftreten.
Um dies zu beheben, kreuzen Sie die richtige Signaturversion im Dialogfeld "Signierte APK generieren" an
quelle
Vor kurzem hatte ich diesen Fehler beim Upgrade auf Android Studio 4.0. Die Ursache war, dass für das Projekt die V2-Signatur in der Signaturkonfiguration deaktiviert war
build.gradle
.Die Lösung bestand darin, es zu entfernen
v2SigningEnabled false
oder explizit auf diesentrue
Standardwert festzulegen.quelle
Wenn Sie in neueren Android Studio-Versionen 3.2+ versuchen, die
release
Installation auszuführen und keine Signaturkonfigurationen definiert haben, wird die Fehlermeldung angezeigt und die Installation schlägt fehl. Sie müssen entweder dendebug
Build ausführen oder die Signaturkonfiguration (V1 oder V2) korrekt einrichten.quelle
Die meisten Antworten sind wahr. und einige andere Gründe, die passieren, sind
quelle
Dies kann passieren, wenn Sie versuchen, eine
.jar
Bibliothek einzuschließen, die eineAndroidManifest.xml
Datei enthält .quelle
Auch du kannst es überprüfen
Project Structure
->Default Config
->Signing Config
Nachdem du alles hinzugefügt hast, was du brauchst
quelle
Durch Festlegen der Umgebungsvariablen
JAVA_HOME
auf JDK 5 oder 6 (anstelle von JDK 7) wurde der Fehler behoben.quelle
Nach einiger Zeit und mehreren Online-Threads zu diesem Thema konnte ich mein Projekt reparieren.
Dabei werden hauptsächlich die letzten Dateien berücksichtigt ( eingegebenen möglicherweise Bilder oder Layouts ) . Wenn Sie sie löschen, funktioniert dies und Sie können Ihr Projekt erneut erstellen.
quelle
Ich hatte diesen Fehler in meiner Eclipse-Konsole. Es stellte sich heraus, dass ich zwei Gläser mit demselben Inhalt, aber unterschiedlichen Namen hatte und sie miteinander in Konflikt standen. Ich habe gerade eine davon gelöscht und es geschafft, die App auf dem Gerät zu installieren.
quelle
Ich habe diesen Fehler erhalten, weil ich veröffentlicht habe, dass mein Fehler
ant release
aufgetreten ist, weil mir der Speicherplatz ausgegangen ist.quelle
Ich habe diesen Fehler erhalten, als ich versucht habe, ein Xamarin-Projekt, das für die Android N-Vorschau erstellt wurde, auf einem Telefon mit API v23 zu installieren. Die Lösung ist, das nicht zu tun.
quelle
Eine andere Möglichkeit, diesen Fehler zu erhalten, besteht darin, unter
ant
macOS zu erstellen und eine Finder-Symboldatei (Icon\r
) im Quellbaum der App zu haben. Es scheintjarsigner
nicht mit dem Wagenrücklauf im Dateinamen fertig zu werden und obwohl es behauptet, dass die Signatur gültig ist, wenn Sie-verify
die APK verwenden, führt dies immer zu einer APK, die nicht auf einem Gerät installiert wird. Ironischerweise ist das Google Drive Finder-Plugin eine großartige Quelle für Finder-Symboldateien.Die Lösung besteht darin, die fehlerhaften Dateien (die in der APK ohnehin unbrauchbar sind) mit einem solchen Bezeichner auszuschließen
fileset
:quelle
Dieses Problem tritt auf, wenn Sie eine nicht signierte Version von APK installieren. Überprüfen Sie, ob Sie die richtige APK installiert haben.
quelle
Ich hatte dieses Problem mit ionischem / Visual Studio-Code (Android auf dem Gerät ausführen):
Ich habe die App auf dem mobilen Gerät (Einstellungen / Apps) deinstalliert, der Fehler ist verschwunden und die App wird gestartet.
quelle
Es wirft diesen Fehler für mich heute aus, weil ich eine App mit einem Mindest-SDK von 28 habe und auf einem Emulator mit einer SDK-Version von 23 spiele. Normalerweise ist dies nicht möglich (AS Gray ist aus der Wiedergabetaste), aber heute nicht viel.
quelle
Versuchen Sie zunächst einfach, dies zu tun:
quelle
Wenn Sie den Emulator verwenden, versuchen Sie ihn zurückzusetzen. Wenn Sie auf dem Handy zuerst die Anwendung deinstallieren, schalten Sie den Entwicklermodus aus und schalten Sie ihn ein. Das Problem ist behoben.
quelle