Fehlermeldung "Das Paket scheint beschädigt zu sein" während der Installation der APK-Datei

74

Ich habe ein seltsames Problem. Ich habe diesen Fehler erhalten, nachdem ich Android Studio von 2.3.3 auf 3.0 aktualisiert habe. Das Problem ist, wenn ich versuche, die APK-Datei zu installieren, heißt es

App nicht installiert. Das Paket scheint beschädigt zu sein.

Ich habe versucht, apk sowohl in der Debug- als auch in der Release-Version zu generieren und habe versucht, es zu installieren, aber wenn ich apk installiere, wird dieselbe Meldung angezeigt.

Wenn ich das Android-Projekt von Android Studio aus starte, funktioniert es. Kann das Gradle-Problem sein, konnte es aber nicht beheben. Bitte helfen Sie

user3678528
quelle
1
Beantworten Sie einige Dinge, 01. Wie lautet Ihr Paketname? 02. Ist diese App bereits auf Ihrem Gerät installiert? 03. Hat das funktioniert, bevor du dein Studio aktualisiert hast? 04. Haben Sie Ihre Geräteeinstellungen "Von externen Quellen installieren" überprüft?
Aman Shekhar
1
1) Verwenden Sie den Emulator? 2) Gibt es eine andere App mit demselben Paketnamen auf Ihrem Gerät?
Ronak Thakkar
@ Shekhar .. 01. Mein Paketname ist ähnlich vor dem Aktualisieren von Android Studio .. 02. Ich habe beide Möglichkeiten versucht .. alte Version App im Gerät zu behalten sowie alte App zu deinstallieren .. 03 .. Ja, es funktionierte vor dem Aktualisieren von Android Studio .. 04. Ja, es ist bereits überprüft ..
user3678528
@ Ronak Thakkar .. 1) Ich benutze Emulator sowie physisches Gerät. eine nach der anderen .. 2) Nein, es gibt keine andere App mit dem gleichen Paket ..
user3678528
und sowohl im Emulator als auch im physischen Gerät erhalten Sie den gleichen Fehler?
Ronak Thakkar

Antworten:

131

Nachdem ich viel gesucht hatte, fand ich eine Lösung:

Gehen Sie zu Build-> Build Apk (s).

Nach dem Erstellen von apk sehen Sie einen Dialog wie unten.

Geben Sie hier die Bildbeschreibung ein

Klicken Sie auf Suchen und installieren Sie es in Ihrem Telefon

Genießen

tej shah
quelle
3
Puh! Vielen Dank. Ich bin verwirrt, warum es ohne Build Apk (s) nicht funktioniert.
M. Usman Khan
6
@usman: - Sicherheitsproblem. Wenn ein Nicht-Entwickler möchte, dass Ihr APKso einfach aus Ihrem Ordner abgerufen werden kann. Jetzt kann nicht nur ein Entwickler eine Freigabe-APK erstellen.
Tej Shah
2
Vielen Dank!! Wenn Sie bemerken, ist die aus diesem Prozess generierte APK fast dreimal so groß wie eine APK, die durch einen regulären Run / Build generiert wird.
Pranav Mahajan
1
Danke vielmals. Es funktioniert perfekt. Die folgende Meldung wird nicht mehr angezeigt. 'App nicht installiert. Das zu beschädigende Paket '. Zuvor habe ich nur apk aus dem Build-Ordner kopiert und es funktioniert nicht.
BK19
3
Diese Lösung für die Build-Version (Debug), aber was ist mit der Veröffentlichung? Das gleiche Problem tritt bei der Release-Version auf :(
Darshan Khatri
7

Da ich diesen Fall selbst bekommen habe und die Antworten hier mir nicht geholfen haben, war meine Situation darauf zurückzuführen, dass ich die targetSdkVersionIn-Gradle-App-Moduldatei aus irgendeinem Grund von 24 auf 22 herabgestuft habe und die apk anscheinend keine andere mit akzeptiert herabgestuft targetSdkVersion, um darüber installiert zu werden.

Nachdem ich es wieder auf 24 geändert hatte, verschwand der Fehler und die App wurde korrekt installiert.

Muhammed Refaat
quelle
1
Danke, das war es auch für mich. Ich hatte mir nur das Manifest angesehen, aber build.gradle scheint targetSdkVersion des Manifests zu überschreiben.
FrankKrumnow
1
@FrankKrumnow toll, dass ich bei der Lösung Ihres Problems helfen konnte, viel Glück.
Muhammed Refaat
3

Wenn Sie signierte apk veröffentlichen, stellen Sie bitte sicher, dass Sie in Signaturversionen sowohl v1 als auch v2 ankreuzen

Siehe unten Screenshot für weitere Informationen Signierte APK-Generation

Sangeet Suresh
quelle
2

In meinem Fall; Wenn Sie diesen Fehler beim Aktualisieren Ihrer Anwendung erhalten, liegt dies möglicherweise an der SDK-Zielversion. In diesem Fall erhalten Sie diesen Fehler in den Protokollen.

"Package com.android.myapp new target SDK 22 doesn't support runtime permissions but the old target SDK 23 does"

Dies liegt daran, dass Ihre vorherige Anwendung mit einer höheren Version von sdk erstellt wurde. Wenn Ihre neue App mit 22 erstellt wurde und Ihre installierte Anwendung mit 23 erstellt wurde, wird The package appears to be corruptbeim Update eine Fehlermeldung angezeigt.

Sabri Meviş
quelle
2

Das ist komisch. Ich weiß nicht, warum dies bei mir passiert ist, als ich signierte apk generiert habe, aber die folgenden Schritte haben für mich funktioniert.

  1. Gehen Sie zur Datei und wählen Sie Caches / Neustarts ungültig machen
  2. Danach gehen Sie zum Erstellen und wählen Sie ein sauberes Projekt aus
  3. Wählen Sie dann Projekt neu erstellen aus

Das ist es.

HarsH
quelle
1

In meinem Fall war auf dem Zieltelefon die App bereits installiert, jedoch in einem "deaktivierten" Zustand. Der Benutzer dachte also, es sei bereits deinstalliert, aber es war nicht so. Ich ging zur Haupt-App-Liste, klickte auf die "deaktivierte" App, deinstallierte sie und dann ging die APK weiter.

ArtHare
quelle
0

Keine der Antworten funktioniert für mich.

Da die Fehlermeldung das Paket beschädigt ist, muss ich ausführen

  1. adb uninstall <package name>
  2. App erneut ausführen / adb install verwenden
Qi Hao
quelle
0

Das Ausführen einer Direkt-Build-APK funktioniert. Stellen Sie jedoch sicher, dass Sie alle zuvor installierten Pakete mit demselben Namen deinstallieren.

Newtoxton
quelle
-1

In meinem Fall hat es funktioniert, indem ich Build über Build> Build-Apks erstellt habe.

Ananta Prasad
quelle