Signierte apk kann nicht manuell auf dem Gerät installiert werden, Fehler "App nicht installiert"


107

Ich möchte meine App auf GooglePlay veröffentlichen, aber zuerst möchte ich einen letzten Test mit der signierten apk durchführen, um sicherzustellen, dass alle verwendeten API-Schlüssel mit der Release-Version (GMaps, Facebook usw.) ordnungsgemäß funktionieren.

Also habe ich gerade eine signierte Version meiner App mit unserem Release-Schlüssel erstellt und als ich versuche, die App auf dem Gerät zu installieren, habe ich eine Fehlermeldung erhalten:

Geben Sie hier die Bildbeschreibung ein

Ich habe versucht, die apk auf das Gerät zu kopieren und mit einer apk-Installations-App zu installieren.

Seltsam ist, wenn ich den gleichen Prozess mit dem Debug-Signaturschlüssel mache , ist alles in Ordnung, ich kann die App installieren und ausführen.

Hier sind die Schritte des Verfahrens:

Ich wähle den Freigabeschlüssel aus und gebe das Passwort ein.

Hier sind die Schritte des Verfahrens:

Ich wähle den Release-Build-Typ anstelle des Debuggens

Ich wähle den Release-Build-Typ anstelle des Debuggens

Nur für den Fall, dass ich auch in der Gradle-Datei die Signaturschlüssel definiert habe, aber ich muss zugeben, dass ich nicht weiß, ob es notwendig ist.

Nur für den Fall, dass ich auch in der Gradle-Datei die Signaturschlüssel definiert habe, aber ich muss zugeben, dass ich nicht weiß, ob es notwendig ist.

Ich habe es jetzt sieben Mal wie 7 versucht, also gehe ich davon aus, dass dieses Problem nicht nur ein falsch eingegebenes Passwort ist , sondern ich kann dies auch mit dem Standard-Debug-Android-Signaturschlüssel zum Laufen bringen .

Bitte helfen Sie, wenn Sie können.


1
Salam. Diese Antwort kann Ihr Problem lösen: http://stackoverflow.com/a/42745459/1676736
Sayed Abolfazl Fatemi

Ich stehe vor dem gleichen Problem. Was war der wahre Grund? Hast du es herausgefunden? @ Adam Varhegyi
Rohit Singh

@RohitSingh Die Antwort unten, lol.
Adam Varhegyi

Ich meine, die App wurde nicht vollständig deinstalliert, auch wenn Sie deinstalliert wurden? Oder es ist eine Sache nur Android 5.0 (oder sogar höher).
Rohit Singh

1
@RohitSingh Mein Problem war genau so, wie es die Antwort beschreibt. Die App wurde für einen anderen Benutzer auf dem Telefon installiert, und ich habe sie bei einem anderen Benutzer nicht gesehen. Also musste ich es für "Alle Benutzer" deinstallieren
Adam Varhegyi

Antworten:


81

Möglicherweise verwenden Sie das Gerät Android 5.0 oder höher.

Gehen Sie einfach zu Einstellungen -> Apps -> Klicken Sie auf Ihre App. ---> Auf der App-Infoseite im Aktionsleistenmenü gibt es eine Option namens "Für alle Benutzer deinstallieren". Klicken Sie darauf. Ihre App wird vollständig deinstalliert und Sie können jetzt versuchen, die neue Version ohne Probleme zu installieren. Hoffe das wird dir helfen

Überprüfen Sie meine Lösung unter dem folgenden Link.

Link 1

Hoffe es wird dir helfen.


Wie zum Teufel konnten sie das so machen? Arbeiten übrigens danke.
Adam Varhegyi

2
Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert.
SOFe

Mann, vielen Dank, dieser Fehler hat mich eine Woche gekostet, um herauszufinden
Diego Vinícius

Schön, hat dir geholfen !! @ DiegoVinícius
Ragu Swaminathan

66

Für aktuelle Updated Android Studio 2.3Benutzer ist diese Antwort für Sie, da Eclipse heutzutage kaum noch für die Android-Entwicklung verwendet wird, da Android Studio enorme Fortschritte erzielt.

Gehen Sie also folgendermaßen vor, um Ihre Signed apkDatei zu erstellen .

  1. Build> Generieren Signed apk.
  2. Erstellen Keystore path.
  3. Put Password, alias, key password.
  4. Build typeWählen Sie entsprechend aus (z. B. zur Freigabe im Playstore release).
  5. Signature VersionAktivieren Sie beide V1und V2Kontrollkästchen.
  6. Finsih.
  7. Gehen Sie zu dem Ort, an explorerdem Sie die apk zum Speichern ausgewählt haben, und Sie sehen Ihren .apkDateinamen als app-release.apkVerwendung.

14
Die Auswahl der Signatur V1 hat es geschafft
Meanman

Du hast mir viel Zeit
gespart

Arbeite für mich. Zeit sparen . Vielen Dank
YeeKhin

5
Beides überprüfen V1& V2war die Lösung!
Alex Jolig

1
Durch Überprüfen von V1 wurde das Problem für mich behoben. Bisher wurde nur V2 überprüft.
BluJ IT

51

Durch Auswahl von Signature Version v1 und v2 wurde das Problem für mich gelöst. Probieren Sie es ausGeben Sie hier die Bildbeschreibung ein


4
Das war genau mein Problem. Es bleibt die Frage, warum wir auch V1 (JAR-Signatur) markieren sollen. und wie erwartet Google, dass wir das wissen?
A. Alqadomi

Es ist nicht zwingend erforderlich. Sie sollten BEIDE dieser Kontrollkästchen aktivieren, wenn dies möglich ist. Wenn der neue V2-Signaturmechanismus jedoch Probleme verursacht, können Sie beide überprüfen, wenn Probleme auftreten.
Shubhamhackz

43

Das gleiche passierte mir, solange ich meine apk aus Build> Build APK generierte. Ich konnte die apk so oft wie möglich ohne Probleme installieren und deinstallieren. Wenn ich jedoch die APK Build> Generate Signed APK generierte und die apk an das Telefon weitergab und versuchte, sie zu installieren, erlaubte sie mir nur eine Gelegenheit, die gleiche, die die folgende Nachricht herauskam:

Geben Sie hier die Bildbeschreibung ein

Bis dahin war alles in Ordnung, wenn ich "IN JEDER WEISE INSTALLIEREN" auswählte. Was geschah jedoch, wenn ich die App deinstallierte und neu installieren wollte (ein mögliches Szenario), geschah Folgendes:

Geben Sie hier die Bildbeschreibung ein

Daher habe ich das Problem durch Deaktivieren von Play Protect gelöst, was ich erreicht habe (innerhalb von Google Play)> Menü> Play Protect> Nach Sicherheitsbedrohungen suchen (Deaktivieren).

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein


Diese Lösung funktioniert bei mir. Eine weitere Änderung von Google +1
Ready Android

Du hast mein Leben gerettet!
Akcoban

Könnten Sie uns bitte sagen, warum dies passiert? Was mache ich falsch, was dazu führt, dass dies behoben wird?
sparkhead95

16

"App nicht installiert" wird angezeigt, wenn eine App mit demselben Paket bereits auf demselben Gerät installiert ist. Löschen Sie einfach Ihre erste Anwendung, die Sie zu Testzwecken verwendet haben, bevor Sie sie an signierte apk senden. Das wird funktionieren. Prost!


8
Ja, ich weiß, aber es ist vorher nicht installiert.
Adam Varhegyi

6
Wie kann ich apk mit einer höheren Version installieren, ohne die aktuelle App zu löschen?
user7856586

12

Wählen Sie sowohl Signature Version v1 als auch v2 aus, um das Problem zu beheben

Geben Sie hier die Bildbeschreibung ein

v1 Schema

Eine JAR-Datei kann mit dem Befehlszeilen-Jarsigner-Tool oder direkt über die API java.security signiert werden. Jeder Dateieintrag, einschließlich nicht signaturbezogener Dateien im META-INF-Verzeichnis, wird signiert, wenn die JAR-Datei vom Jarsigner-Tool signiert wird. Für jeden in der signierten JAR-Datei signierten Dateieintrag wird ein einzelner Manifesteintrag erstellt, sofern dieser noch nicht im Manifest vorhanden ist

V2-Schema

v1-Signaturen schützen einige Teile der APK nicht, z. B. ZIP-Metadaten. Der APK-Prüfer muss viele nicht vertrauenswürdige (noch nicht verifizierte) Datenstrukturen verarbeiten und dann Daten verwerfen, die nicht von den Signaturen abgedeckt werden. Dies bietet eine beträchtliche Angriffsfläche. Darüber hinaus muss der APK-Prüfer alle komprimierten Einträge dekomprimieren, was mehr Zeit und Speicher kostet. Um diese Probleme zu beheben, führte Android 7.0 das APK Signature Scheme v2 ein

Standardmäßig signieren Android Studio 2.2 und das Android Plugin für Gradle 2.2 Ihre App sowohl mit dem APK Signature Scheme v2 als auch mit dem traditionellen Signaturschema, das die JAR-Signatur verwendet.

Es wird empfohlen, APK Signature Scheme v2 zu verwenden, dies ist jedoch nicht obligatorisch. Bitte beachten Sie die Details


10

In Android Studio 3.0 und höher

Wie hier beschrieben

Hinweis: Mit der Schaltfläche Ausführen wird eine APK mit testOnly = "true" erstellt. Dies bedeutet, dass die APK nur über adb (das von Android Studio verwendet wird) installiert werden kann. Wenn Sie eine debuggbare APK möchten, die Benutzer ohne ADB installieren können, wählen Sie Ihre Debug-Variante aus und klicken Sie auf Build Bundle (s) / APK (s)> Build APK (s).

Fügen Sie android:testOnly="false"innerhalb des Anwendungs-Tags in AndroidManifest.xml hinzu

Referenz: https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html


7

Oben shubham soni Antwort funktioniert für mich, eigentlich passiert es mit Android-Version> = 5.0.In oben können Sie installieren, verwenden Sie dies einfach beim Erstellen Ihrer apk Geben Sie hier die Bildbeschreibung ein...


1
Warum diese doppelte Antwort?
Sziraqui

@sziraqui: Subhankar soni hat nicht erwähnt, warum "Signiertes apk kann nicht manuell auf dem Gerät installiert werden, Fehler" App nicht installiert "angezeigt wird. Ich hatte das gleiche Problem mit der Os-Version wie oben erwähnt. Zum besseren Verständnis habe ich erwähnt, dass .Is Ist in meiner Antwort etwas nicht in Ordnung? Für Android-Version <= 5.0 können Sie dieselbe apk installieren, ohne die Kontrollkästchen für beide Signaturversionen zu markieren.
Amit raj

Ihre Antwort fügt der ursprünglichen Antwort nur einen weiteren Punkt hinzu, sodass es sich um einen Kommentar handeln sollte. Wenn Sie dies als Antwort veröffentlichen, sollten Sie eine Art Zitat hinzufügen, das Ihre Behauptung von Android 5.0 unterstützt. Was ist, wenn Ihr Problem tatsächlich mit Android Ide und nicht mit Android-Version zusammenhängt?
Sziraqui

Vielen Dank, das Bild in der Antwort brachte mich auf die Idee, sowohl aktivierte V1- als auch V2-Signaturen zu testen. Zuvor war ich nur mit V1
Jasxir

6

Hier habe ich dieses Problem behoben

Der Grund für dieses Problem ist, dass das Telefon bereits eine Anwendung mit demselben Paketnamen enthält, die Sie jedoch nicht im Telefonmenü finden können (Sie haben die Deinstallation bereits durchgeführt, sie befindet sich jedoch noch in Ihrem Telefon).

Um die Anwendung zu sehen, gehen Sie zu EINSTELLUNGEN -> APPS des Telefons . Dort können Sie die Anwendung sehen, aber darin kann die Schaltfläche UNINSTALL deaktiviert sein. Klicken Sie auf die Schaltfläche Menüüberlauf , um Deinstallieren für alle Benutzer anzuzeigen .

Nach der Deinstallation für alle Benutzer habe ich meine signierte apk erfolgreich installiert. Sie können auch adb verwenden, um die App vom Telefon zu deinstallieren.

adb uninstall package name

Zusätzlich dazu, wenn Ihr Mobil unterstützt mehrere Benutzer dann prüfen , ob entsprechende App für andere Benutzer nicht installiert ist. Wenn es für andere installiert ist, deinstallieren Sie zuerst die vorherige App und versuchen Sie es erneut


4

Es ist eine ziemlich alte Frage, aber meine Lösung bestand darin, den versionCode (erhöhen) in build.gradle zu ändern




3

Dies kann daran liegen, dass Sie die APK-Datei vom externen SD-Kartenspeicher ausführen. Kopieren Sie einfach die APK-Datei in das interne Speicherproblem. Das Problem wird behoben


1

Dies kann aufgrund Ihrer Wahl der Signaturversion geschehen. Bei einigen Telefonen treten Installationsfehler auf, wenn die Signaturversion als V2 ausgewählt wurde. Wenn dies passiert, versuchen Sie V1 auszuwählen, es wird sicherlich funktionieren.


1

Ich hatte heute das gleiche Problem. Ich erinnerte mich, dass ich meine Apk mit der "neuen" Google Play-Signatur signiert habe:


Geben Sie hier die Bildbeschreibung ein


Stellen Sie sicher, dass Sie Ihre Anwendung mit Google Play signiert haben.

Wenn du. .. getan hast:

  • Installiere ein Update, indem du deine apk auf Google Console hochlädst (wie du es normalerweise beim Aktualisieren deiner Anwendung tun würdest):

Geben Sie hier die Bildbeschreibung ein


  • Öffnen Sie nach dem erfolgreichen Hochladen das Artifact libraryim Menü.
  • Sie sehen die apk, die Sie gerade hochgeladen haben.
  • Drücken Sie die Download-Taste und wählen Sie Download derived APK.

Sie können nun die apk installieren.


0

wenn Ihre Android Studio-Version größer als 3.0 ist

Es sieht so aus, als könnten wir die apk nicht direkt verwenden, nachdem sie auf dem Gerät aus dem Ordner build -> output-> apk ausgeführt wurde.

Nach dem Upgrade auf Android Studio 3.0 müssen Sie zu Build -> Build Apk (s) gehen und die Apk von Build -> Output -> Apk -> Debug kopieren

Geben Sie hier die Bildbeschreibung ein


Titel dieser Frage - "Cannot install signed apk". Sie beziehen sich auf debug apk.
KRK

0

Datei> Projektstruktur> Varianten erstellen> Release auswählen> Stellen Sie sicher, dass 'Signing Config' nicht leer ist> wenn es aus dem Drop-Fenster ausgewählt ist $signingConfigs.release

Ich habe dies mit Android Studio 3.1.4 gemacht und konnte eine Release-Apk erstellen, nachdem ich alle oben genannten Schritte zum Erstellen der Release-Apk und des Release-Schlüssels ausgeführt und die Informationen zum App-Gradle hinzugefügt habe. Prost!


$signingConfigs.releaseist nicht verfügbar, nur $signingConfigs.debugverfügbar.
KRK

Gehen Sie dann zu Erstellen> APK generieren> APK auswählen und befolgen Sie die Anweisungen.
Treewallie

0

Ich hatte das gleiche Problem in meiner Android-Anwendung. Ich habe gerade eine Bibliothek aktualisiert und dann sign APK erstellt. Jetzt ist es Arbeit.


0

Sie müssen die Google Play-Version nicht deinstallieren, wenn die App-Signatur von Google Play für Ihre App aktiviert ist . Gehen Sie folgendermaßen vor:
1. Erstellen Sie mit Ihrem Release-Schlüssel eine signierte Version Ihrer App.
2. Wechseln Sie zur Google Play Developer Console
3. Erstellen Sie eine Closed-Track-Version (Alpha- oder Beta-Version) mit der neuen signierten Version Ihrer App
4. Sie können jetzt die von App Signing von Google Play signierte Apk herunterladen und die abgeleitete APK auswählenGeben Sie hier die Bildbeschreibung ein

  1. Installieren Sie die heruntergeladene abgeleitete APK

Der Grund dafür ist, dass App Signing von Google Play Freigabe-Apps mit unterschiedlichen Schlüsseln signiert, wenn Sie eine App aus dem Play Store installiert haben und die neue Release-Versions-App (generiert aus Android Studio) auf Ihrem Telefon testen möchten: "App nicht installiert". Dies geschieht, da die alte und die neue Version mit zwei verschiedenen Schlüsseln signiert wurden: einem mit App Signing von Google Play und einem mit Ihrem Schlüssel.



0

Deinstallieren Sie bitte die Debug-App auf dem Gerät oder erhöhen Sie einfach den Versionscode, um diese Probleme zu beheben


0

In meinem Fall habe ich versucht, die Installation eines signierten APK zu testen, und die aktuell auf meinem Gerät installierte Version war nicht signiert (Erstellen einer Debug-Version direkt aus Android Studio).


0

Es ist offensichtlich, aber es war immer noch schwer für mich herauszufinden,

Bitte überprüfen Sie, ob Ihr Mobilgerät über genügend Speicherplatz verfügt, um die apk zu installieren. und es ist nicht voll.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.