webentwicklung-frage-antwort-db.com.de

Signierte apk kann nicht manuell auf dem gerät installiert werden, fehler "app nicht installiert"

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.) korrekt funktionieren.

Also habe ich nur eine signierte Version meiner App mit unserem Release-Schlüssel erstellt und beim Versuch, die App auf dem Gerät zu installieren ist ein Fehler aufgetreten:

 enter image description here

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

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

Hier sind die Schritte der Prozedur:

Ich wähle den Auslöser , tippe Passwort ein.

 Here are the steps of the procedure:

Ich tue wähle den Release-Build-Typ anstatt zu debuggen

 I do select release build type instead of debugging

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

 Just in case i also defined in the gradle file the signing keys but I must admit i dont know is it necessary.

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

Bitte helfen Sie, wenn Sie können.

72
Adam Varhegyi

Möglicherweise verwenden Sie Android 5.0 oder höher. 

Gehen Sie einfach zu Einstellungen -> Apps -> Klicken Sie auf Ihre App. ---> Auf der App-Info-Seite im Aktionsleistenmenü gibt es eine Option namens "Deinstallation für alle Benutzer". 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 von unten. 

Link 1

Ich hoffe es wird dir helfen.

61

Für aktuelle Updated Android Studio 2.3-Benutzer ist diese Antwort für Sie da, da Eclipse heutzutage kaum von Menschen für die Android-Entwicklung verwendet wird, da Android Studio große Fortschritte erzielt.

Folgen Sie diesem Weg, um Ihre Signed apk-Datei zu erstellen.

  1. Build> Generiere Signed apk.
  2. Erstellen Sie Keystore path.
  3. Setzen Sie Password, alias, key password.
  4. Build type entsprechend auswählen (z. B. um im Playstore release freizugeben).
  5. Signature Version Markieren Sie die Kontrollkästchen V1 und V2.
  6. Finsih.
  7. Gehen Sie zu Explorer, wo Sie die apk zum Speichern ausgewählt haben, und Sie sehen Ihren .apk-Dateinamen als app-release.apk.
51

durch die Auswahl von Signature Version v1 und v2 wurde das Problem für mich gelöst. Probieren Sie es aus  enter image description here

38
Shubham Soni

"App nicht installiert" zeigt an, 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 zur signierten apk-Datei machen. Das wird funktionieren. Prost!

13
Tara

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

 enter image description here

v1 Schema

Eine JAR-Datei kann mit dem Befehlszeilen-Jarsigner-Tool oder mit .__ signiert werden. direkt über die Java.security-API. Jeder Dateieintrag einschließlich Nicht-Signatur-bezogene Dateien im META-INF-Verzeichnis werden signiert wenn die JAR-Datei vom Jarsigner-Tool signiert ist. Für jeden Dateieintrag in der signierten JAR-Datei signiert, wird ein einzelner Manifesteintrag erstellt denn solange es noch nicht im Manifest existiert

V2-Schema

v1-Signaturen schützen einige Teile des APK nicht, z. B. Zip Metadaten. Der APK-Verifizierer muss viele nicht vertrauenswürdige (noch nicht __ verifizierte) Datenstrukturen verarbeiten und dann Daten verwerfen, die nicht von .__ abgedeckt sind. Unterschriften Dies bietet eine beträchtliche Angriffsfläche. Darüber hinaus ist die APK Der Verifizierer muss alle komprimierten Einträge dekomprimieren, wodurch mehr Zeit benötigt wird und Erinnerung. Um diese Probleme zu lösen, wurde in Android 7.0 APK .__ eingeführt. Signaturschema v2

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

Es wird empfohlen, das APK-Signaturschema v2 zu verwenden, ist jedoch nicht obligatorisch siehe Details

9
Lineesh K Mohan

Dasselbe ist mir passiert, solange ich meinen apk aus Build> Build APK generiert habe. Ich konnte die apk so oft installieren und deinstallieren, wie sie waren, und zwar ohne Probleme. Stattdessen erzeugte ich den Build> Generate Signed APK. Wenn ich die apk an das Telefon weitergab und versuchte, sie zu installieren, erlaubte es mir nur eine Gelegenheit, die gleiche, die die folgende Nachricht herauskam: 

 enter image description here

bis dahin war alles in Ordnung, wenn ich "INSTALLIEREN" gewählt habe. Was passiert, wenn ich die App deinstalliert habe und sie neu installieren wollte (ein mögliches Szenario), passierte Folgendes:

 enter image description here

daher habe ich das Problem durch Deaktivieren von Play Protect (in Google Play)> Menü> Play Protect> Suche nach Sicherheitsbedrohungen (Deaktivieren) gelöst.

 enter image description here

 enter image description here

7
Gerrard

Über Shubham Soni Antwort funktioniert für mich, tatsächlich passiert es mit Android-Version> = 5.0.Ober oben können Sie installieren, verwenden Sie dies einfach beim Erstellen Ihrer apk enter image description here ...

5
Amit raj

Hier habe ich dieses Problem gelöst

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

Um die Anwendung zu sehen, gehen Sie zu TelefoneEINSTELLUNGEN->APPS. Dort können Sie die Anwendung sehen, aber darin kann die UNINSTALL-Taste deaktiviert sein. Klicken Sie auf die Menüüberlauf-Schaltfläche, um zu sehen - Für alle Benutzer deinstallieren .

Nach der Deinstallation für alle Benutzer wurde mein signiertes apk erfolgreich installiert. __ Sie können die App auch mit adb vom Telefon deinstallieren.

adb uninstall package name

falls Ihr Mobiltelefon mehrere Benutzer unterstützt und prüfen Sie, ob die entsprechende App nicht für andere Benutzer installiert ist. Wenn es für andere installiert ist, deinstallieren Sie zuerst die vorherige App und versuchen Sie es erneut

3
Alex Chengalan

Dies kann darauf zurückzuführen sein, dass Sie die APK-Datei von einem externen SD-Kartenspeicher ausführen . Kopieren Sie die APK-Datei einfach in das interne Speicherproblem

3
Vu Thai Duy

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

1
mateusz-dot

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

1

minifyEnabled false

ist das einzige was für mich nach 3 Tagen Recherche in allen Foren funktioniert!

1
Toto1

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

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

Nach dem Upgrade auf Android Studio 3.0 musst du zu Build -> Build Apk (s) gehen und dann den apk von build -> output -> apk -> debug kopieren

enter image description here

0
Keshav Gera

Gehe zu Build.Gradle (Modul: App)

benutze dies - minifyEnabled false

0
Abhinav Pandey

Datei> Projektstruktur> Buildvarianten> Release auswählen> Vergewissern Sie sich, dass 'Signing Config' nicht leer ist.> Wählen Sie im Dropdown-Fenster den $signingConfigs.release aus.

Ich habe dies mit Android Studio 3.1.4 gemacht und es hat mir ermöglicht, ein Release-Apk zu erstellen, nachdem ich alle oben beschriebenen Schritte ausgeführt habe, um das Release-Apk und den Release-Schlüssel zu erstellen und die Informationen zum App-Gradle hinzuzufügen. Prost!

0
Treewallie

In Android Studio 3.0 und höher

Wie beschrieben hier

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

Android:testOnly="false" in Anwendungs-Tag in AndroidManifest.xml hinzufügen

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

0
Ketan Ramani