Wenn ich auf ein Projekt klicke, das ich gerade in Android Studio 0.2.10 erstellt habe, und mein Android auswähle (über USB verbunden mit Debug über USB), wird folgende Fehlermeldung angezeigt:
Waiting for device.
Target device: 0123456789ABCDEF
Uploading file
local path: /Users/Rui/AndroidStudioProjects/FirstAppProject/FirstApp/build/apk/FirstApp-debug-unaligned.apk
remote path: /data/local/tmp/rui.firstapp
Installing rui.firstapp
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/rui.firstapp"
pkg: /data/local/tmp/rui.firstapp
Failure [INSTALL_FAILED_INVALID_APK]
Irgendeine Idee, was es sein könnte?
android
android-studio
RuiG
quelle
quelle
MinSDK
undTargetSDK
-Werte in Ihrem Manifest. Haben Sie versucht, dies in einem Emulator zu installieren? Dadurch wird eingegrenzt, ob das Problem bei der APK oder Ihrem Gerät liegt.Antworten:
Ich habe das in Android Studio bekommen und alles, was ich getan habe, um es zu reparieren, war zu gehen
"Build" > "Clean Project"
und es hat einfach funktioniert.quelle
./gradlew clean
von Ihrem normalen Build-Befehl gefolgtEntfernen Sie einfach das alte APK android / app / build / output / apk / debug / app-debug.apk aus dem Ordner. das ist alles. Viel Spaß beim Codieren ...
quelle
rm -fr android/app/build/outputs/apk/debug/
Ich habe einmal ein ähnliches Problem bekommen. Ich habe festgestellt, dass der Paketname in meiner Androidmanifest.xml mit einem Leerzeichen gestartet wurde.
like " com.example.test" instead of "com.example.test"
Ich habe alle diese ungültigen Leerzeichen aus meiner Manifestdatei entfernt, es hat mein Problem gelöst
Bearbeiten 1 : '-' im Paketnamen verursachen auch das gleiche Problem auf einigen Android-Versionen
quelle
invalidate cache and restart
würde einen sauberen Build erzwingen, anscheinend nicht.Ich hatte das gleiche Problem, aber keine der Lösungen funktionierte für mich. Das Problem war, dass ich keine hatte . Trennzeichen in meinem Paketnamen.
dh wenn Ihr Paketname my.packagename ist , ist es in Ordnung, aber es kann nicht nur mypackagename sein. Ich
habe den Hinweis aus diesem Fehlerbericht erhalten.
https://code.google.com/p/android/issues/detail?id=55841
quelle
Wenn immer noch ein Problem auftritt , dann Build-> Clean Project, dann Build-> Rebuild Project. Projekt schließlich mit Gradle-Datei synchronisieren .
quelle
So lösen Sie dieses Problem:
RootExplorer
tmp
Ordner auf der SD-KarteLink
diesen Ordner aus (letzte Option im Menü)./data/local/
und tippen Sie auf die SchaltflächeCREATE LINK
von untenquelle
Ich hatte dieses Problem und keine der oben genannten Lösungen funktionierte für mich.
Aus irgendeinem Grund waren die Berechtigungen in meinem
/data/local/tmp
Verzeichnis nicht richtig eingestellt (nur root hatte rwx). Ich habe das Problem mit ADB behoben (Sie benötigen ein gerootetes Gerät):adb shell
/data/local
Verwendung übercd /data/local
su
tmp
Verzeichnis mit zulassenchmod 777 tmp
quelle
Durch Ausschalten des Sofortlaufs wurde mein Problem gelöst. Ich kenne bis jetzt keine Erklärung. Nach der Migration auf Android Studio 3.0 beginnt das Problem wie folgt. Hoffe das hilft jemandem in Zukunft.
quelle
Als dieses Problem auftrat, stellte ich sicher, dass der Paketname AndroidManifest.xml mit der Anwendungs-ID build.grade identisch war.
quelle
Ich habe einen anderen Grund für diesen Fehler gefunden. Wenn Sie die Gerätezugriffsberechtigungen für / data / local / tmp gerootet haben, werden diese möglicherweise geändert, sodass adb keinen Zugriff auf die temporäre Datei erhält. Die Lösung besteht darin, den Ordner "tmp" auf der SD-Karte zu erstellen und in / data / local / einen Symlink dazu zu erstellen (über die ADB-Shell oder den Root-Explorer).
quelle
Wenn Sie
android:extractNativeLibs="false"
in eine AndroidManifest-Datei schreiben . dann ändern Sie es inandroid:extractNativeLibs="true"
quelle
Dies hat in meinem Fall geholfen:
Settings -> Apps -> Google Play Store -> Click "Enable" button.
quelle
Ich habe die meisten der oben angebotenen Lösungen ausprobiert (die einfachen, nicht die, die chmod anbieten und interne Bibliotheken ändern), und keine davon funktioniert
Schließlich funktionierte für mich Folgendes: "Projekt bereinigen" -> "Projekt neu erstellen" -> App-Versionsname im App-Modul build.gradle geändert -> Gradle synchronisieren -> App auf dem Gerät ausführen
quelle
Ich bin auf dieses Problem gestoßen, weil ich nicht übereinstimmende Build-Varianten hatte. Ein Dynamic Delivery-Modul befand sich in der Debug-Variante, während die restlichen Module freigegeben waren. Durch einfaches Ändern des Dynamic Delivery-Moduls in "Release", "Neuaufbau" und "Installation" wurde das Problem behoben.
quelle
Wechseln Sie bei Flutter-Projekten mit dem VS-Code-Editor zum Projektquellordner, löschen Sie den Ordner "build" und starten Sie das Debuggen.
quelle
Ich habe dieses Problem bei einem Projekt mit Dolch und mehreren Modulen. Was für mich funktioniert hat (keines der oben genannten hat funktioniert) war 1) den .gradle-Ordner zu leeren 2) den .idea-Ordner zu leeren 3) im Projekt gradle.properties org.gradle.caching = false zu markieren 4) Caches in AS möglicherweise ungültig zu machen , sauber, wieder aufzubauen
Möglicherweise können Sie mit nur # 3 davonkommen, reinigen und dann bauen.
BEARBEITEN: In letzter Zeit konnte ich dies umgehen, indem ich AS neu startete, dann eine Bereinigung durchführte und dann erneut installierte.
quelle
./gradlew installDebug
von der Kommandozeile aus zumDie Ursache für dieses Problem war für mich, dass für eines der Module meiner App die falsche Build-Variante ausgewählt wurde. Aus dem Tool "Varianten erstellen" habe ich die Modulvariante ausgewählt, die zum App-Modul passt, und das Problem wurde für mich behoben.
quelle
Ich hatte dieses Problem unter Android Studio, weil ich in meinem Debug-Build das Versionsnamensuffix -DEBUG hinzugefügt habe und das - das Problem war.
Versuchen Sie, Ihre Versionsnamen und Anwendungs-IDs nur mit Buchstaben, Zahlen und Punkten zu versehen
quelle
Navigieren Sie zu
Run/Debug Configurations
Klicken Sie auf der oberen Registerkarte Ausführen> Konfigurationen bearbeiten
quelle
Ich hatte gerade den gleichen Fehler. Ich hatte das Jahr 2015 in der App ID. Ich habe 2015 durch fünfzehn ersetzt und das hat es gelöst.
Wenn Sie Android Studio verwenden, können Sie außerdem Folgendes versuchen: Tools / Android / Projekt mit Gradle-Dateien synchronisieren
quelle
Erzwingen Sie das Stoppen der Anwendung in den Geräteeinstellungen.
quelle
Ich hatte dieses Problem und keine der oben genannten Lösungen funktionierte für mich.
Der Grund ist wahrscheinlich das Root-Telefon, für das nur auf der SD-Karte Kontingent- oder Apk-Installationsberechtigungen verfügbar sind.
Ich habe das Problem mit ADB behoben (Sie benötigen ein gerootetes Gerät):
quelle
Es scheint mehrere Gründe für diesen Fehler zu geben. Für mich bestand das Problem darin, dass ich in der AndroidManifest-Datei mit dem Tag "used-library" auf eine nicht vorhandene Bibliothek (nur auf diesem bestimmten Gerät) verwiesen hatte. Nach dem Entfernen der Bibliothek, auf der dieses Gerät nicht vorhanden war, wurde die apk ordnungsgemäß installiert.
quelle
Ich habe den Archetyp androidquickstart maven verwendet und hatte das gleiche Problem:
Mein Paketname war ein einziger Android-Schnellstart. Nach vorheriger Empfehlung
package="androidquickstart"
zupackage="androidquickstart.test"
und entsprechend Test von anderen Teilen xml entfernt ,<activity android:name=".test.HelloAndroidActivity" >
um<activity android:name=".HelloAndroidActivity" >
quelle
Ihr Paketname sollte Wörter enthalten, die durch Punkte wie com.example oder prashant.mydairy kombiniert werden. Es sollte jetzt gut funktionieren
Folgende Dateien müssen aktualisiert werden: 1) Manifestdatei 2) Gradle-Datei (Modul-App): applicationId "package.name"
quelle
Der Name taskAffinity muss mindestens ein '.' Separator
quelle
Wenn Sie Zugriff auf die Gerätekonsole (ADB-Shell) haben, ändern Sie die folgenden Berechtigungen:
Möglicherweise möchten Sie auch versuchen, die apk
/data/local/
in diese zu kopieren. Stellen Sie in diesem Fall sicher, dass die richtigen Berechtigungen auch für die apk festgelegt sind .quelle
Es sieht so aus, als hätte man eine Nummer, nachdem der Punkt der Schuldige war.
Ich hatte das gleiche Problem mit der folgenden applicationId
org.tony.stark.125jarvis
Ändern in
org.tony.stark.jarvis
Ich konnte die App auf den Android-Geräten installieren.
quelle
Sie können diese Fehlermeldung erhalten , wenn die
minSdkVersion
inbuilde.gradle
größer als das Android - Version des Geräts ist. In diesem Fall müssen Sie die ändernminSdkVersion
.quelle
Code in AndroidManifest.xml löschen:
tools: replace = "android: appComponentFactory" android: appComponentFactory = ""
Es klappt.
quelle