Ich habe ein Programm im Android Emulator. Hin und wieder habe ich eine signierte APK erstellt und zum Testen auf mein HTC Desire exportiert. Es war alles in Ordnung.
Auf meiner zuletzt exportierten APK wird die Fehlermeldung "App nicht installiert" angezeigt, wenn ich versuche, die APK zu installieren. Es läuft gut auf den Emulatoren.
Da ich hauptsächlich die Emulatoren getestet und nur ab und zu auf ein echtes Telefon exportiert habe, bin ich mir nicht sicher, wann dies passiert ist. Was ist die wahrscheinliche Ursache dafür, dass es nicht auf einem physischen Telefon installiert wird, sondern in den Emulatoren einwandfrei funktioniert?
Ich habe versucht, das Telefon neu zu starten und die vorhandene .apk zu entfernen, behebt den Fehler nicht.
quelle
adb uninstall your.package.name
und dannadb install /path/to.apk
. Ich verstehe nicht, warum das nicht funktionieren würde. Haben Sie beim Signieren etwas geändert?Antworten:
Hauptsächlich für ältere Telefone
Ich bin nur auf den
App not installed
Fehler gestoßen , als ich versucht habe, eine apk auf meinem Telefon zu installieren, das auf 4.4.2 aka KitKat läuft, aber mein Freund hat diesen Fehler auf seinem Telefon, das auf 6+ läuft, nicht festgestellt. Ich habe die anderen Lösungen ausprobiert, z. B. das Entfernen der alten / Debug-Version der App, da es sich bei der apk um eine Release-Version handelt, das Löschen der Daten der Debug-App und sogar das Löschen aller zwischengespeicherten Daten. Dann wurde mir endlich klar, dass ich beim Erstellen meiner signierten apk nur beide Signaturversionen auswählen musste.Bevor ich nur
V2 (Full APK Signature)
ausgewählt hatte, aber auch nach der AuswahlV1 Jar Signature
, konnte ich meine signierte APK erfolgreich auf meinem 4.4.2-Gerät installieren. Hoffe das hilft anderen!quelle
V1 (Jar Signature)
Unter Android 9 (API 28) hat das Deaktivieren von Google Play Protect aus der Play Store-App den Trick ausgeführt, und ich konnte den
App not Installed
Fehler beseitigen.quelle
Ich hatte ein ähnliches Problem und das lag daran, dass ich versuchte, eine Apk auf einem Telefon mit einer früheren Version derselben Apk zu installieren, und beide Apks nicht mit demselben Zertifikat signiert waren. Ich meine, als ich dasselbe Zertifikat verwendet habe, konnte ich die vorherige Installation überschreiben, aber als ich das Zertifikat zwischen den Versionen geändert habe, war die Installation nicht möglich. Verwenden Sie dasselbe Zertifikat?
quelle
Natürlich gibt es viele Ursachen für dieses Problem. Für mich war die Situation wie folgt: Ich hatte sie aus Android Studio (v1.3.2) auf meinem Nexus 7 (tatsächliches Gerät) bereitgestellt. Alles hat gut funktioniert. Ich habe dann eine signierte apk erstellt und auf mein Google Drive hochgeladen. Nachdem ich meinen Nexus vom USB getrennt hatte, ging ich zu den Einstellungen / Apps und deinstallierte meine App (App1). Ich habe dann Google Drive geöffnet und auf meine App1.apk geklickt und mich für die Installation entschieden (Sie müssen sicherstellen, dass Sie die Installation von Apks in den Einstellungen zugelassen haben). Dann bekam ich die gefürchtete Meldung "App nicht installiert"
Lösung für mich: Gehen Sie zurück zu Einstellungen / Apps und scrollen Sie durch alle Apps und unten war eine blasse Version meiner App1 (beachten Sie, dass die ursprüngliche App1 oben in alphabetischer Reihenfolge war, die wie oben gelöscht wurde). Beim Klicken auf die blasse Version stand "Nicht für diesen Benutzer installiert". (Ich hatte meinen Nexus so eingerichtet, dass er mehr als einen Benutzer hat). In der oberen rechten Ecke befindet sich jedoch eine Schaltfläche mit drei Punkten . Ich drückte dies und es stand "Deinstallieren für alle Benutzer" . Was ich getan habe und das Problem behoben hat. Ich konnte jetzt auf App1.apk klicken und es wurde ohne Fehler einwandfrei installiert.
quelle
adb uninstall your.package.name
, der für alle Benutzer deinstalliert wird.Ich hatte das Problem, als ich mein Android von 2.3.2 auf 3.0.1 aktualisierte. In diesem Fall berücksichtigt die IDE automatisch die folgenden Punkte.
1. Sie können eine App nicht mit Android installieren: testOnly = "true" mit herkömmlichen Mitteln, z. B. von einem Android-Dateimanager oder von einem Download von einer Website
2.Android Studio setzt android: testOnly = "true" auf APKs, von denen aus ausgeführt wird
Wenn Sie Ihre App ausführen und das Gerät direkt mit Ihrem System verbinden, wird apk problemlos installiert und ausgeführt.
Wenn Sie diese Apk per Kopie aus dem Build-Out- und Debug-Ordner gesendet haben, wird sie niemals auf dem Gerät installiert.
Lösung : Gehen Sie zu Build ---> Build APK (s) ---> Kopieren Sie die Dateifreigabe in Ihr Team
dann wird dein Problem gelöst.
quelle
Ich hatte das gleiche Problem. Das Problem war, dass die Hauptaktivität in meiner AndroidManifest.xml-Datei zweimal geschrieben wurde. Ich habe das Duplikat gelöscht.
quelle
android:exported
wurde für Launcher-Aktivität auf falsch gesetztDies kann passieren, wenn Sie Ihre MainActivity zweimal in Ihrer AndroidManifest.xml deklariert haben.
Ein weiterer möglicher Grund: Sie haben die Startaktivität geändert. Hinweis: Machen Sie es niemals mit bereits veröffentlichten Anwendungen! Gründe, die im Blog der Android-Entwickler diskutiert wurden .
quelle
android:name
Attribut jederActivity
,Service
,BroadcastReceiver
usw. können nicht in Manifest - Datei geändert werden. Obwohl es sich anscheinend um die private Kennung in Ihrer App handelt, handelt es sich um eine öffentliche API.Ich hatte das gleiche Problem. Mir war nicht klar, dass eine App auch zum Testen signiert werden muss.
Nach der Selbstsignierung wurde es einwandfrei installiert.
quelle
Ich hatte das gleiche Problem und hier ist, wie es gelöst wurde: Gehen Sie zur Manifest-Datei und stellen Sie sicher, dass die Attribute "Debuggable" und "Test Only" auf false gesetzt sind. Es hat bei mir funktioniert :)
quelle
android:testOnly="false" android:debuggable="false"
Für diejenigen, die Android Studio 3 verwenden.
Suryanarayana Reddys Antwort ist richtig, da sie keine Schritte zur Lösung enthält.
in AndroidManifest.xml unter Anwendung Tag hinzufügen
testOnly="false"
undandroid:debuggable="true"
etwa so:Bearbeiten Sie
dann in der AndroidStudio-Menüleiste Build> Build APK (s)
quelle
android:debuggable="true"
führt zuError: Avoid hardcoding the debug mode; leaving it out allows debug and release builds to automatically assign one [HardcodedDebugMode]
. Ich habe esandroid:testOnly="false"
sowohl mitBuild > Build Bundl(s) / APK(s) > Build APK(s)
als auchBuild > Generate SignedBundle APK...
mit den Signaturversionen v1, v2 versucht (wie im oberen Screenshot). Musste vorher die vorherige App entfernen, dann eine neue installieren.Ich weiß, dass dies ein alter Beitrag ist, aber für neue Benutzer kann dies nützlich sein. Ich hatte das gleiche Problem: Meine Anwendung funktionierte beim Debbuging einwandfrei. Als ich die APK signierte, erhielt ich die gleiche Meldung: "Anwendung nicht installiert".
Ich habe das deinstallierte JDK behoben (ich habe jdk-6u14-windows-x64 verwendet) und ein neues installiert (jdk-6u29-windows-x64). Nach dem Export und der erneuten Unterzeichnung der APK war alles in Ordnung!
Als ich fortfuhr, war mein Problem in der JAVA-Version. Danke Oracle !!
quelle
Mein Problem war, dass ich mehrere Benutzerkonten auf dem Gerät habe. Ich habe die App auf einem Konto gelöscht, aber sie wurde immer noch auf dem anderen Konto installiert. Somit kollidierte der Namespace und wurde nicht installiert. Das Deinstallieren der App von allen Benutzern hat es für mich behoben.
quelle
Mein Problem war: Ich habe das benutzt Debug-Apk verwendet, die generiert wurde, während ich den Befehl Ausführen ausgeführt habe von Android Studio aus ausgeführt habe
Lösung war: Anstatt diese Datei zu verwenden, bereinigen Sie das Projekt und klicken Sie auf Erstellen> APK (s ). Android Studio auf . Dann können Sie die generierte APK aus dem üblichen Ordner verwenden (app / build / output / apk / debug /).
Die so generierte Datei wurde problemlos installiert.
quelle
Wenn die Anwendung nicht installiert wird, löschen Sie die Datei
.android_secure/smdl2tmpl.asec
von der SD-Karte.Wenn der Ordner
.android_secure
im Dateimanager leer ist, löschen Sie ihn vom PC.quelle
Am Ende stellte ich fest, dass keine Apps erfolgreich installiert wurden, nicht nur meine. Ich habe die Standardeinstellung für die App-Installation von SD-Karte auf Automatisch festgelegt. Das hat es behoben.
quelle
Wenn Sie eine frühere Version für diese Anwendung haben, versuchen Sie diese zuerst zu löschen. Jetzt wurde mein Problem mit dieser Methode gelöst.
quelle
Ich habe auch dieses Problem gelöst,
Das Problem war, dass ich meine Hauptaktivität zweimal deklariert habe, Ein als erste zu ladende Aktivität und auch einen Absichtsfilter dafür angegeben habe. Und noch einmal darunter habe ich sie erneut deklariert.
Stellen Sie nur sicher, dass Sie Ihre Aktivitäten nicht zweimal deklarieren.
quelle
Manifest.xml
Datei deklarieren , wird ein Kompilierungsfehler angezeigt, es sei denn, Sie haben dieselben Aktivitäten mit demselben Namen, aber in verschiedenen Paketen, ABER dies funktioniert bei mir nicht, da ich alles überprüft habe.Erstellen Sie eine Keystore-Datei über die Befehlszeile
keytool -genkey -alias key_file_name.keystore -keyalg RSA -validity 1000000000000000 -keystore key_file_name.keystore
exportiere apk über Eclipse, klicke mit der rechten Maustaste auf Android-Projekt Android Tools> Signiertes Anwendungspaket exportieren und gib dann den Speicherort und das Passwort des Keystores ein.
Dies wird Kiste signiert apk zur gleichen Zeit wird apk zipaligned. Und installierbar.
Wenn Sie die Befehlszeile für alle durchlaufen, wird manchmal der Fehler "Anwendung nicht installiert" angezeigt. (Fehler bei nicht installierter Anwendung kann nicht nur bei Verwendung der Befehlszeile auftreten. Dies kann auch andere Gründe haben.)
quelle
Ich hatte das gleiche Problem, dh die App wurde als installiert angezeigt, wurde jedoch nicht gestartet, wenn auf das Symbol getippt wurde. Nach einigem Kopfschlagen stellte ich fest, dass ich 'android: exported = "false"' für meine Hauptstarter-Aktivität dumm in die AndroidManifest-Datei eingefügt hatte .... Nachdem ich sie entfernt hatte, wurde die App einwandfrei gestartet.
quelle
Mein Problem war dem von @Lunatikzx ähnlich. Wegen eines falschen Berechtigungs-Tags, das als Attribut für die Anwendung geschrieben wurde:
Was es für mich behoben hat, war das Ändern des Berechtigungs-Tags in ein separates Tag wie dieses:
quelle
Das Seitenladen von Debug-Apps zum Testen auf einem physischen Telefon funktionierte zuverlässig, bis ich das Telefon von Android Pie auf Android 10 aktualisiert habe. Danach trat bei jedem Versuch, die App von der Seite zu laden, der Fehler "App nicht installiert" auf.
Aufgrund einer Warnung in meiner AndroidManifest.xml habe ich von ...
zu...
Danach konnte ich meine App einmal von der Seite laden. Dann trat der gleiche Fehler "App nicht installiert" erneut auf. Durch den Wechsel
allowBackup
zurück zutrue
funktionierte es wieder (mindestens einmal).Aus der Anzahl der Antworten und der Variation der Antworten geht hervor, dass es viele Gründe für dieses Problem gibt. Ich teile dies für den Fall, dass es anderen hilft.
quelle
android:allowBackup="true"
zuandroid:allowBackup="false"
und noch kein Glück.Überprüfen Sie mit der Android-Version.
Wenn Sie nicht marktgerechte Apps und inkompatible Versionen installieren, wird dieser Fehler angezeigt.
Beispiel: Anwendung auf 2.3.4 ausgerichtet. Ihr Gerät ist 2.2. Dann wird dieser Fehler angezeigt.
quelle
build.gradle
noch in der Android-Manifest-Datei. Es sei denn,compileSdkVersion
(Wert 23) oderminSdkVersion
(16) odertargetSdkVersion
(22) zeigen irgendwie auf die gewünschte Einstellung. Auf meiner Galaxie läuft Android 7.0 (und ich bitte um ein Update, aber ich erlaube es noch nicht). Ich benutze Android Studio nicht, um meinegradlew assembleRelease
Der Fehler "Anwendung nicht installiert" kann auch auftreten, wenn die App auf der SD-Karte installiert oder auf diese verschoben wurde und dann das USB-Kabel angeschlossen wurde, wodurch die SD-Karte ausgehängt wird.
Das Ausschalten des USB-Speichers oder das Zurückschieben der App in den internen Speicher würde das Problem in diesem Fall beheben.
quelle
Ich bin auch auf dieses Problem gestoßen. Bitte versuchen Sie diese Lösung. Stellen Sie sicher, dass sich der Paketname Ihres Projekts von Ihrem vorherigen Projekt unterscheidet, das bereits auf Ihrem Mobiltelefon installiert war. Ich denke, sie bekommen Konflikte in ihren Namen. Es funktioniert in mir.
quelle
Möglicherweise tritt dieses Problem auch auf, weil Ihr Gerätehersteller die kommerziellen Google-Apps wie Play Store, YouTube, Google Maps usw. nicht lizenziert hat. Befolgen Sie diese Antwort , um das Problem zu beheben.
quelle
Anscheinend kann dies auch durch das Umbenennen des APK vor der Installation verursacht werden. Ich wollte die Anzahl der Eingaben reduzieren, die Benutzer ausführen müssen, um die App von unserer Website zu erhalten, indem der Dateiname gekürzt wird. Danach konnten sie es nicht mehr installieren.
Nachdem ich zum ursprünglichen Dateinamen zurückgekehrt war, der beim Erstellen und Signieren des Pakets verwendet wurde, konnte ich die installierte App aktualisieren.
quelle
Mit Android Studio hatte ich zuvor die nicht signierte Debug-Version des APK ( Build> Build APK ) installiert und musste sie vor der Installation der signierten Release-Version ( Build Variants> Build Variant: Release , Build> Generate Signed APK ) deinstallieren .
quelle
Für mich war die Ursache, dass ich mehrere Builds mit verschiedenen Build-Varianten auf demselben Telefon hatte:
Was passierte war, dass einige dieser Builds von mir erstellt wurden , ein anderer wurde mir von einem anderen Entwickler gesendet. Der Versuch, die Entwickler zu installieren, während ich andere Builds (von mir erstellt) hatte, verursachte den obigen Fehler.
Das Update war also einfach: Löschen Sie alle Builds auf meinem Telefon (unabhängig von der Build-Variante). Installieren Sie dann die von meinem Peer gesendete Apk. Und es hat wie ein Zauber funktioniert
quelle
Ich hatte heute ein ähnliches Problem und dachte zuerst, es sei meine SD-Karte, die es beschädigt hat. Ich habe es auf vielen Geräten mit Android 4.4 und höher versucht, aber es brachte immer wieder das gleiche Problem mit sich. Nach einigem googeln und recherchieren stellte ich fest, dass ich nicht die v1-JAR-Signatur ausgewählt hatte, die für Geräte älter als Android 7.0 Nougat ist, also habe ich beide angewendet Diese Signaturen durch Aktivieren der beiden Kontrollkästchen und Generieren einer signierten apk und es funktionierte.
Link zur Lösung Android - App nicht installiert Fehler bei der Installation eines signierten APK - How to Fix
quelle
Dies kann auch auftreten, wenn Sie ein Startbildschirm-Widget erstellen und in Ihrer Widget-XML-Datei eine falsche Aktivität angegeben ist
android:configure
.quelle