Lösung für den Fehler INSTALL_FAILED_INSUFFICIENT_STORAGE unter Android [geschlossen]

525

Der INSTALL_FAILED_INSUFFICIENT_STORAGEFehler ist der Fluch im Leben eines jeden Android-Entwicklers. Dies geschieht unabhängig von der App-Größe oder dem verfügbaren Speicherplatz. Durch einen Neustart des Zielgeräts wird das Problem kurz behoben, es wird jedoch bald wieder angezeigt. Es gibt Hunderte (wenn nicht Tausende) von Message Board-Posts von Leuten, die fragen, warum das Problem auftritt, aber die Leute bei Google schweigen frustrierend zu diesem Thema.

Es gibt eine einfache Problemumgehung. Wenn auf Ihrem Testgerät Android 2.2 oder höher ausgeführt wird, fügen Sie das android:installLocationAttribut mit dem Wert zur Manifestdatei Ihrer Anwendung hinzu "preferExternal". Dadurch wird die App auf dem externen Speicher des Geräts installiert, z. B. auf der SD-Karte eines Telefons.

Zum Beispiel:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.andrewsmith.android.darkness"
          android:installLocation="preferExternal"

Dies ist eher ein Pflaster als ein Fix, und es ist möglicherweise nicht ideal, wenn Sie möchten, dass Ihre fertige App im internen Speicher des Geräts installiert wird. Aber es wird zumindest den Entwicklungsprozess viel weniger frustrierend machen.

Andrew Smith
quelle
Wird es für Android API Level 4 oder 1.6 funktionieren?
mAc
Ich habe diese Nachricht in der Manifest-Datei: -> Fehler: Keine Ressourcen-ID für das Attribut 'installLocation' im Paket 'android' gefunden. Bitte helfen Sie
jemand_ smiley
1
@ AndrewSmith: Könnten Sie bitte Ihre Frage beantworten? Ich bin während der Überprüfung nur auf diese Frage gestoßen, weil sie als keine echte Frage gekennzeichnet ist . Während die Flagge grundsätzlich korrekt ist, wäre es eine Schande, wenn die Lösung verloren gehen würde.
eckes
Als erstes müssen Sie herausfinden, ob das Problem tatsächlich mit dem Platz zusammenhängt! Siehe meine Antwort auf diese Frage für Details.
Robert Siemer
1
Ich hatte diesen Fehler auf Android Emulator. In Android Studio - AVD Manager gibt es eine Option zum Löschen von Daten auf einem bestimmten Gerät. Dies hat mein Problem
behoben

Antworten:

178

Dies ist nur eine vorübergehende Problemumgehung und keine echte Lösung.

Nachdem mir dies passiert war und ich mit den aktuellen Antworten nicht zufrieden war, machte ich mich an die Arbeit, um es aus der AOSP-Quelle herauszufinden. Ich habe eine echte Lösung gefunden.

Erläuterung

Zunächst ein wenig (vereinfachter) Hintergrund zur Installation und Aktualisierung von Android

Das erste Mal, wenn eine App installiert wird:

  1. Die APK- Datei wird als gespeichert

    /data/app/<full.package.name>-1.apk  (1.apk)

Wann soll die App aktualisiert werden:

  1. Die aktualisierte APK-Datei wird gespeichert als:

    /data/app/<full.package.name>-2.apk (2.apk)
  2. Die erste Version (1.apk) wird gelöscht.

Bei unseren nächsten Updates:

  1. Die neue APK wird als (1.apk) gespeichert und (2.apk) gelöscht (für immer wiederholen).

 

Das Problem, das die meisten von uns haben, tritt auf, wenn die Anwendung aktualisiert wird, das Löschen der alten APK jedoch fehlschlägt. Was selbst noch nicht dazu führt, dass das Update fehlschlägt, aber zwei APK-Dateien enthält /data/app.

Wenn Sie das nächste Mal versuchen, die App zu aktualisieren, kann das System die temporäre Datei nicht verschieben, da weder (1.apk) noch (2.apk) leer sind. Da File # renameTo (File) keine Ausnahme auslöst, sondern stattdessen einen booleschen PackageManager zurückgibt, kann nicht festgestellt werden, warum INSTALL_FAILED_INSUFFICIENT_STORAGE zurückgegeben wird, obwohl der Fehler nichts mit der Menge an freiem Speicherplatz zu tun hat.

Lösung

Lauf:

adb shell "pm uninstall <full.packge.name>"
adb shell "rm -rf /data/app/<full.package.name>-*"

ODER

Deinstallieren Sie die App

Verwenden Sie Ihre bevorzugte Methode, um BEIDE zu löschen :

/data/app/<full.package.name>-1.apk

/data/app/<full.package.name>-2.apk

Stellen Sie sicher, dass nichts anderes zukünftige Installationen auf ähnliche Weise blockiert. In meinem Fall hatte ich ein /data/app-lib/<full.package.name>-1Verzeichnis! In diesem Fall funktionierte eine Installation auf der SD-Karte und eine anschließende Verschiebung in den internen Speicher. (Erstellen /data/app-lib/<full.package.name>ohne -1Ende.)

Warum andere "Lösungen" funktionierten

  • Der Code für die Installation auf einem externen Speicher unterscheidet sich erheblich, da nicht dieselben Probleme auftreten

  • Durch die Deinstallation der App wird nur eine Version der APK-Datei gelöscht /data/app. Aus diesem Grund können Sie es einmal neu installieren, aber nicht aktualisieren.

  • Die Menge an freiem Speicherplatz in einem Emulator ist nicht wirklich relevant, wenn dieser Fehler auftritt

gabcas
quelle
9
@ Msmit1993, Sie haben auf einem nicht gerooteten Gerät keinen Zugriff auf das Datenverzeichnis. SDK und ADB zu haben spielt keine Rolle.
Stan
3
Für die wirklich Faulen, hier ist ein Bash-Snippet: function fix_app { adb shell "pm uninstall ${1}; rm -rf /data/app/${1}-*; su -c 'rm -rf /data/app-lib/${1}-*'" } $ fix_app com.facebook.katana
Gnmerritt
1
Ich habe es auch versucht, android:installLocation="preferExternal"aber alles umsonst, in meinem Fall funktioniert nichts. Ich benutze ein echtes Gerät zum Testen. Was ist die Lösung in diesem Fall?
Ram Patra
1
Ich musste löschen/data/local/tmp
18446744073709551615
1
In meinem Fall füge ich hinzu, um die App mit adb install -f zu installieren ... Es wurde abgelehnt, sie anderweitig zu installieren, obwohl ich 1,7 GB freien internen Speicher hatte; Vielleicht lag es daran, dass ich keine SDCARD hatte. Aber mit der Option -f hat es zumindest funktioniert, ich weiß nicht warum ...
xtof54
108

Sie müssen die Speicherkapazität des Android-Emulators erhöhen. Dafür gibt es zwei Möglichkeiten:

  1. Klicken Sie mit der rechten Maustaste auf das Stammverzeichnis Ihres Android-Projekts, gehen Sie zu "Ausführen als" und dann zu "Konfigurationen ausführen ...". Suchen Sie den Knoten "Android-Anwendung" in der Baumstruktur links, wählen Sie Ihr Projekt aus und gehen Sie zur Registerkarte "Ziel" auf der rechten Seite des Fensters. Suchen Sie nach dem Feld "Zusätzliche Emulator-Befehlszeilenoptionen" (manchmal auch Sie). Ich muss das Fenster vergrößern und schließlich "-partition-size 1024" dort einfügen. Klicken Sie auf Übernehmen und dann auf Ausführen, um Ihren Emulator zu verwenden.

  2. Gehen Sie zu den Einstellungen von Eclipse und wählen Sie "Starten". Fügen Sie im Feld "Standardemulatoroption" "Partitionsgröße 1024" hinzu. Klicken Sie auf "Übernehmen" und verwenden Sie Ihren Emulator wie gewohnt.

RacZo
quelle
103
Oscar, Sie nehmen an, dass dies auf dem Simulator geschieht. In meinem Fall geschieht dies auf dem tatsächlichen Gerät, auf das diese Antwort nicht eingeht.
Jeff Axelrod
Die zweite Option schien für mich nicht zu funktionieren. Option 1 jedoch! Tolles Zeug! Und arbeitete mit einem 2.1-Emulator.
DonnaLea
Das hat bei mir nicht funktioniert, vermutlich weil ich Snapshots aktiviert habe? Wie kann ich den Emulator dazu bringen, Android mit der neuen Option -partition-size von Grund auf neu zu starten?
Timmmm
Bei Option 1 verloren - Ich habe an dieser Stelle keine Registerkarte "Ziel" in ecclipse.
Ted Betz
2. Option hat bei mir funktioniert, danke für den Gud Post @RacZo
DD.
31

Vielen Dank für die Veröffentlichung dieser Frage. Ich habe einige zusätzliche Erkenntnisse, die einigen Entwicklern helfen können.

Ich debugge meine Anwendung auf einem Gerät (nicht auf dem Emulator). Das Gerät hat 21 MB frei /data(wie von "df" bei "adb shell" angezeigt) und meine App ist nur 5 MB groß. Ich habe jedoch festgestellt, dass INSTALL_FAILED_INSUFFICIENT_STORAGE für eine Weile verschwindet und dann zurückkommt, wenn ich andere Apps auf dem Gerät lösche (ohne das Telefon neu zu starten oder adbd neu zu starten).

Es scheint also, dass das Debuggen meiner 5-MB-App mehr als 20 MB Speicherplatz erfordert /data, und außerdem ist jedes Mal, wenn ich meine App debuggte, etwas ausgetreten.

Also habe ich "adb shell" gemacht und das GESAMTE /dataVerzeichnis mit aufgelistet

cd /data
ls -a -l -R

Und ich schaute auf die 5000-Zeilen-Ausgabe, um zu sehen, wohin der gesamte Raum ging.

Ich habe große Mengen an verschwendetem Speicherplatz auf meinem Gerät im /data/klogVerzeichnis in Form alter Protokolldateien aus monatelangen Debugging-Sitzungen entdeckt.

Dies waren nicht meine Protokolldateien: Sie wurden von einem Teil der Android-Infrastruktur erstellt.

Ich habe sie gelöscht und sofort 58 MB gespeichert, die in der Einstellungen-App keiner bestimmten App zugeordnet wurden. Ich habe ein kleines Gerät, daher sind 58 MB sehr wichtig (ca. 40%).

Bisher habe ich INSTALL_FAILED_INSUFFICIENT_STORAGE nach vielen Läufen nicht mehr erhalten. Hoffen wir, dass dies das eigentliche Problem war, obwohl das OP vorschlägt, dass sein Gerät viel Platz hatte (aber nicht sagte, wie viel).

Hoffentlich können einige von Ihnen INSTALL_FAILED_INSUFFICIENT_STORAGE auch durch regelmäßiges Löschen entkommen /data/klog/*.

Oder Sie können zumindest das tun, ls -a -l -Rum /datazu sehen, wohin Ihr gesamter Speicherplatz geht, wenn tatsächlich ein (verstecktes) Speicherplatzproblem vorliegt.

Louis Semprini
quelle
26
Irgendeine Idee, wie man das auf einem nicht gerooteten Telefon macht? Ich habe keinen Zugriff auf das Datenverzeichnis. großer Beitrag übrigens +1
Rich
1
Danke für die Information. Zu Ihrer lsls -alR
Information,
1
Mit Root-Zugriff tun Sie: # su # du / data | sort -g, um eine Liste der nach Größe geordneten Ordner / Dateien zu erhalten
JuanMa Cuevas
@JuanMaCuevas dulistet nur Ordner auf.
NaXa
@Rich, versuchen Sie, die Drittanbieter-App Astro File Manager herunterzuladen. Es ist sehr beliebt und bietet Ihnen Zugriff auf die Dateien Ihres Telefons. play.google.com/store/apps/…
Azurespot
22

Folgendes hilft:

  • Öffnen Sie eine Shell für das Gerät

    adb shell
  • Navigieren Sie zu dem temporären Verzeichnis, in das die eingehende APK zuerst kopiert wird

    cd /data/local/tmp
  • Listen Sie die verfügbaren Dateien auf und löschen Sie sie nach Bedarf

    rm * // use at your own risk, good practice to list files first

Dies war bisher für mich auf einem tatsächlichen Gerät zuverlässig.


EDIT: Dies stellte sich als nicht so zuverlässige Lösung wie oben heraus.

Ich habe eine Reihe von Lösungen ausprobiert. Nichts hat wirklich geholfen. Endlich habe ich eine App namens SD Maid gefunden . Das hat geholfen.

Es heißt, dass die Funktionalität auf nicht gerooteten Geräten eingeschränkt ist. Meins ist verwurzelt, also wäre es gut zu sehen, wie effektiv es in diesen Szenarien ist, und wenn es nur ein Zufall wäre, dass es für mich funktioniert (es ist sowieso ein unvorhersehbares Problem).

HINWEIS: Ich habe nichts mit der App zu tun. Habe es gerade mit einer Suche gefunden.

Saad Farooq
quelle
Es hat mir geholfen. Einige meiner vorherigen Anwendungen sind im tmp-Ordner gespeichert. Nachdem ich diese entfernt habe, funktioniert es gut.
Mahendran Sakkarai
19

Ich habe es gelöst, indem ich ein android:installLocation="auto"Inside- <manifest>Tag in die Datei AndroidManifest.xml aufgenommen habe.

Steph
quelle
Funktioniert in der Tat. Vielen Dank.
Teddy
Dies ist das einzige Update, das für mich auf einem echten Gerät funktioniert hat. Vielen Dank.
Shah Abaz Khan
einfach und gut
arbeiten. Danke
Ich habe diese Codezeile hinzugefügt. Aber ich bekomme immer noch diesen FehlerError: ADB exited with exit code 1 adb: failed to install build\app\outputs\apk\app.apk: Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE] Error launching application on Android SDK built for x86.
Husna
Beste Lösung für die Arbeit mit Emulator. Vielen Dank!
Br0wn
16

Ich hatte der Manifestdatei der Anwendung eine zusätzliche Zeile hinzugefügt android:installLocation="preferExternal". Durch Verwendung dieser Zeile wird die Installation der App auf dem externen Speicher erzwungen. siehe das folgende Beispiel,

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.nasir.phonegap"
    android:installLocation="preferExternal" >
Nasirkhan
quelle
11

Ein verwandtes Problem auf dem Emulator ist, wenn in der /dataPartition kein Platz mehr vorhanden ist .

Zum Beispiel,

% adb shell df

Filesystem             Size   Used   Free   Blksize
/dev                   252M    32K   252M   4096
/mnt/asec              252M     0K   252M   4096
/mnt/obb               252M     0K   252M   4096
/system                154M   154M     0K   4096
/data                   64M    57M     6M   4096
/cache                  64M     1M    62M   4096

Hier ist eine Beispielansicht des /data/appVerzeichnisses:

% adb shell ls -l /data/app

-rw-r--r-- system   system      19949 2011-10-12 17:09 CubeLiveWallpapers.apk
-rw-r--r-- system   system      27670 2011-10-12 17:09 GestureBuilder.apk
-rw-r--r-- system   system      34341 2011-10-12 17:09 SoftKeyboard.apk
-rw-r--r-- system   system      20151 2011-10-12 17:09 WidgetPreview.apk

Ich habe die zusätzlichen APK- Dateien entfernt. Es scheint, dass Sie bei jeder Installation eine neue APK-Datei erhalten. Entfernen Sie einfach die zusätzlichen APK-Dateien.

Zum Beispiel,

adb shell rm /data/app/com.brooklynmarathon.calendarapi2-1.apk
Ralph Yozzo
quelle
2
1. Führen Sie "adb shell" aus. 2. CD in jedes Verzeichnis in den Daten und suchen Sie diejenigen mit großen nutzlosen Dateien. 3. lösche sie mit "rm (Dateiname)" 4. Meine wiederkehrenden Probleme sind mit Papierkorb wie "ApiDemos" und "dalvik-cache" (lösche einfach den gesamten Inhalt von diesem)
Adam
9

In meinem Fall wurde der Fehler durch die com.android.providers.mediaApp verursacht . Ich habe dies auf x86 Android Emulator konfrontiert. Was habe ich getan:

$ adb shell df
Filesystem             Size   Used   Free   Blksize
...
/data                  224M   209M    14M   4096
....

Zu wenig freier Speicherplatz /data

$ adb shell du /data
...
409870  /data/data/com.android.providers.media
...

Fast alles wurde von einer einzigen App verbraucht! Es ist eine System-App, daher halte ich es für besser, sie nicht zu löschen. Stattdessen habe ich App-Daten bereinigt.

$ adb shell pm clear com.android.providers.media
Success
$ adb shell df
Filesystem             Size   Used   Free   Blksize
...
/data                  224M     8M   215M   4096
...

Die Festplatte wurde gelöscht und die App erfolgreich installiert.

Sergey Fedorov
quelle
Dies ist die einzige Lösung, die für mich funktioniert hat. Nach 2 Stunden! :)
Ruchir Baronia
6

Ich fühle mich ein bisschen komisch, wenn ich das schreibe, aber ich kann nicht 100% sicher sein, dass es in einigen Fällen nicht stimmt (es hat bei mir funktioniert). Wenn Sie die folgenden Symptome hatten:

  • Sie haben mit einem physischen Gerät gearbeitet (in meinem Fall Samsung Galaxy Ace).
  • Sie haben sich seit ein paar Tagen in Folge entwickelt,
  • Ihr Telefon war Tag und Nacht ständig verbunden .
  • Nach ein paar Tagen trat dieser Fehler auf, und er wurde immer schlimmer.
  • Keine der anderen Antworten hat für Sie funktioniert.
  • Du bist so resigniert wie ich ...

Versuchen Sie dann Folgendes:

  • Ziehen Sie den Stecker aus der Steckdose, wenn Sie nicht arbeiten!

Ich zog meinen Stecker aus der Steckdose und ließ ihn für den GANZEN TAG ruhen. Meine Batterie hat sich etwas erschöpft. Danach habe ich es wieder verbunden und wieder mit dem Debuggen begonnen. Diesmal hat alles gut funktioniert! Und ich meine wirklich WIRKLICH gut, genau wie zuvor.

Ist es möglich, dass dieser Fehler auf batteriebezogene Hardware zurückzuführen ist ? Es fühlt sich immer noch komisch an, so zu denken, aber jetzt trenne ich mein Telefon immer wieder (und für die Nacht) und das Problem kehrte nicht zurück.

Wrygiel
quelle
Das passiert mir ständig - auf allen meinen Geräten. Während der Ursache eines Tages beginnen die Dinge normalerweise am Ende eines jeden Tages zu versagen. Das ist so nervig und es ist ziemlich erstaunlich, dass Google dies noch nicht behoben hat ...
Slott
Das gleiche Verhalten für mich, aber ein Neustart des Telefons löste mein Problem dauerhaft.
Bdevay
6

Beantwortung des allerersten Beitrags zu diesem Thema ...

Symptom: Einige Apps werden nicht installiert, da kein Speicherplatz vorhanden ist und in Wirklichkeit sowohl auf dem internen als auch auf dem externen Speicher viel Speicherplatz frei ist !!! Lösung: Deaktivieren Sie standardmäßig die externe Installation.

Stellen Sie die externe Installation standardmäßig so ein:

adb shell pm set-install-location 2

Macht die Installation auf vielen Apps unmöglich, die nicht extern installiert werden können (z. B. adblock + oder so).

Dann ist die Lösung

adb shell pm set-install-location 0

Oder

adb shell pm set-install-location 1

0: auto (if one is full - or irrelevant !!! - it select the other)
1: internal
2: external
Dan
quelle
Ich begann zu glauben, dass der interne Speicher dieses Telefons defekt war, aber die Einstellung des Installationsorts auf 1 behebt das Problem "nicht genügend Speicherplatz". Vielen Dank!
Wodin
6

Ich habe folgendes versucht:

  • Mein Gerät neu gestartet
  • Vorherige APK gelöscht
  • Baue meine APK neu auf
  • Deinstallieren Sie meine vorherige Kopie auf dem Gerät
  • Neu installieren

Überprüfen Sie, ob es bei Ihnen genauso funktioniert.

CoolRunning
quelle
3
Ja, der Neustart des Geräts war der einzige, der funktionierte (nachdem
ich
Neustart des Geräts funktioniert :)
cinobili19
5

Samsung Galaxy Ace gibt in seinen Spezifikationen 158 MB internen Speicher an, aber die Kernanwendungen und -dienste verbrauchen ungefähr 110 MB davon (ich habe den Task-Manager auf dem Gerät verwendet, um dies zu überprüfen). Meine App war 52 MB groß, weil sie viele Assets hatte. Nachdem ich einige davon bis auf 45 MB gelöscht hatte, konnte die App problemlos installiert werden. Das Gerät warnte mich immer noch, dass der interne Speicher fast voll war, und ich sollte einige Apps deinstallieren, obwohl ich nur eine App installiert hatte.

Nach der Installation einer Release-Version des APK-Bundles und der anschließenden Deinstallation zeigt mein Gerät 99 MB freien Speicherplatz an, sodass möglicherweise Informationen debuggt werden, die das Gerät überladen. Siehe die Antwort von Louis Semprini .

snez
quelle
4

In Eclipse

Run -- > Debug Configurations --> Select "target", und wählen Sie ein bevorzugtes Emulatorziel zum Starten aus.

Fügen Sie dann unterhalb dieser "zusätzlichen Emulator-Befehlszeilenoptionen" Folgendes hinzu:

-Partitionsgröße 1024

Schließen Sie dann den Emulator und klicken Sie auf das Debug-Symbol, um den von Ihnen ausgewählten bevorzugten Emulator zu starten.

Geben Sie hier die Bildbeschreibung ein

Ich hoffe es hilft...!

Strider
quelle
Hinweis für Android Virtual Device ManagerBenutzer. Sie können die Partitionsgröße auf 1024 als "Interner Speicher" disk.dataPartion.size
festlegen
3

Ich bin auf dieses Problem mit meinem neuen Nexus 4 und einer mit Adobe AIR erstellten APK gestoßen. Ich hatte bereits Android: installLocation = "PreferExternal" in meinem Manifest. Ich bemerkte, dass ich auch adb installmit der -sOption (Paket auf dem gemeinsam genutzten Massenspeicher wie SD-Karte installieren) anrief, die wie ein Overkill schien.

Das Entfernen der -sFlagge von hat adb installdas Problem für mich behoben.

Sarah Northway
quelle
1
+1, gut, -s sollte nur verwendet werden, wenn der zuvor installierte Build überschrieben wurde.
AAnkit
3

Da dieses Problem immer noch besteht, dachte ich, ich würde RacZos Antwort zu Entwicklungszwecken etwas hinzufügen . Wenn Sie nicht das Eclipse- Plugin verwenden oder aus irgendeinem Grund nicht die Quelle, sondern nur die APK-Datei haben, können Sie die Partitionsgröße über die Befehlszeile mit derselben Option erhöhen, wenn Sie den Emulator starten:

emulator -avd <emulator name> -partition-size 1024

Soweit ich weiß, ist diese Option nicht unter developer.android.com dokumentiert. Daher dachte ich, ich würde sie hier veröffentlichen, damit die Leute diese Lösung finden könnten.

DrBwaa
quelle
Dies ist bei weitem die beste Option, da weder eine Datei aktualisiert noch eine Anwendung verwendet wird, avd
sondern
2

Ich bin auf diese Frage gestoßen, weil ich diesen Fehler beim Verwenden der Sideload Wonder Machine zum Installieren von Apps auf meinem tatsächlichen Telefon erhalten habe. Ich fand das Problem, dass ich mehrere APK-Dateien im Verzeichnis / payload hatte. Ich dachte, dies würde unterstützt, aber als ich alle bis auf eine .apk-Datei entfernte, verschwand der Fehler.

KC Baltz
quelle
2

Deinstallieren Sie die Anwendung einfach über die Befehlszeile vom Emulator oder gehen Sie zu den Einstellungen und deinstallieren Sie die Anwendung. Dies verhindert, dass der Fehler auftritt.

Nagendra
quelle
2

Wenn Sie ein echtes Gerät verwenden, ist Ihnen einfach der interne Speicher ausgegangen. Gehen Sie einfach zu Android-Einstellungen -> Anwendungen und verschieben Sie einige Apps auf die SD-Karte oder deinstallieren Sie einige Apps.

Wenn Sie den Emulator verwenden, lesen Sie die Antwort von RacZo .

Marmor
quelle
9
Wir sprechen über den unzureichenden Speicherfehler, der auftritt, wenn ausreichend Speicher verfügbar ist.
user999717
2

Ich habe den gleichen Fehler festgestellt, als ich nach einem vollständigen ROM-Update versucht habe, mithilfe der ADB- Shell etwa 50 Apps im SD-Kartenverzeichnis zu installieren :

for x in *.apk; do pm install -r $x; done

Einige von ihnen wurden installiert, aber viele sind mit dem Fehler INSTALL_FAILED_INSUFFICIENT_STORAGE fehlgeschlagen. Alle fehlgeschlagenen Apps hatten Platz in ihrem Namen. Ich habe sie stapelweise umbenannt und es erneut versucht. Diesmal hat alles geklappt. Ich habe keinen Neustart durchgeführt oder so. Vielleicht ist dies nicht das Problem, mit dem ihr konfrontiert seid, aber dies könnte jemandem helfen, der mit dem gleichen Problem sucht, mit dem ich konfrontiert bin.

TechNetizen
quelle
Außerdem stelle ich fest, dass, wenn ich den Namen der App irgendwann buchstabiere, derselbe Fehler auftritt. In meinem Fall handelt es sich um eine irreführende Fehlermeldung.
Insilico
1

Emulatorlösung

Öffnen Sie Ihr .AndroidVerzeichnis. Normalerweise in Ihrem Home-Verzeichnis. Gehen Sie dann zu avdund öffnen Sie das Verzeichnis mit dem Namen der avd, die Sie ändern möchten.

Bearbeiten Sie nun die config.iniDatei und fügen Sie die folgende Zeile hinzu oder ändern Sie die folgende Zeile:

disk.dataPartition.size=1024

Wo 1024ist die Größe, die Sie in MB verwenden möchten? Speichern Sie die Datei und starten Sie den Emulator mit wipe user dataaktiviert. Ihr Emulator sollte jetzt die neue Größe haben.

prolink007
quelle
1

Die Lösung ist einfach.

Öffnen Sie den AVD Manager. Bearbeiten Sie Ihre AVD.

Unten im Hardware-Bereich sind einige Eigenschaften mit "Neu ..." und "Löschen" rechts davon aufgeführt.

Drücken Sie Neu. Wählen Sie die Größe der Datenpartition. Auf "512 MB" einstellen (MB ist erforderlich). Und du bist fertig. Wenn weiterhin Probleme auftreten, erhöhen Sie mit derselben Methode auch Ihre System- und Cache-Partitionen.

Hier ist alles dokumentiert: http://developer.android.com/guide/developing/devices/managing-avds.html

Zaid Daghestani
quelle
2
Datenpartition ist keine verfügbare Option mit der Google API Level 14
Ted Betz
1

Stellen Sie sicher, dass Sie Ihr Android-Gerät nicht mit USB verbinden, während Sie versuchen, den Emulator auszuführen

Sharpless512
quelle
1

Wenn Sie Ihre Anwendung auf einem Emulator ausführen und dieses Problem weiterhin besteht, überprüfen Sie Ihren Benachrichtigungsmanager. Wenn Ihnen ein Symbol und eine Benachrichtigung über "Telefonspeicher ist voll" angezeigt wird, bedeutet dies, dass Sie bereits so viele Anwendungen auf Ihrem Emulator installiert haben. Deinstallieren Sie mehrere Anwendungen, die Sie derzeit nicht möchten, unter "Einstellungen >> Anwendung verwalten >> Anwendung auswählen >> Deinstallieren".
Das Set.
Führen Sie nun das Programm erneut aus.

Rax
quelle
1

Ich habe diesen Fehler heute erhalten, als ich mein Telefon zum Testen / Debuggen mit Eclipse verwendet habe.

Mein Fehler war, dass ich im Anwendungsnamen das norwegische Sonderzeichen ("æ", "ø", "å") verwendet habe. Als ich den App-Namen überarbeitet habe (mit "o" anstelle von "ø"), wurde die App korrekt installiert.

Wahrscheinlich nicht Ihr Problem, könnte aber für andere Personen, die den gleichen Fehler erhalten, von Bedeutung sein.

EirikO
quelle
1

Nachdem ich alles andere in diesem Thread ausprobiert hatte, stellte ich fest, dass mein eigenes Problem darin bestand, dass der Pfad zur APK-Datei zu lang war. Also ging ich in das Verzeichnis, in dem sich die .apk befand, und tat:

cd /Very/Long/Path/To/Package/
adb install mypackage.apk

anstatt

adb install /Very/Long/Path/To/Package/mypackage.apk

Und es hat funktioniert ... gut installiert.

Ich dachte nur, das könnte jemand anderem helfen.

Alma
quelle
Ich könnte hinzufügen, dass das Erstellen eines Verzeichnisses zu einem symbolischen Link es mir ermöglichte, Builds aus der IDE zu erstellen und zu debuggen: ln -s / Users / abc / a \ lächerlich \ long \ Verzeichnis \ path / subpath / subsubpath / subsubsubpath / shortpath
David van Dugteren
1

Problemumgehung:

Kompilieren Sie als 2.1 ohne android:installLocation="preferExternal".

IN ORDNUNG?

Kompilieren Sie als 2.2 einschließlich android:installLocation="preferExternal".

Dies wird weiterhin auf einer SDK-Version unter 8 installiert (das XML-Tag wird ignoriert).

Team Pannous
quelle
0

In meinem Fall wurde dies behoben, indem der erweiterte Speicher von Eclipse vergrößert und der Wert von -Xmx768m in eclipse.ini geändert wurde

Santhosh
quelle
0

Am Ende habe ich die App vom Gerät deinstalliert und dann wieder in Eclipse installiert. Dies ist ein Problem, das ich bei regelmäßiger Verwendung ständig auf meinem Gerät bekomme, aber heute habe ich diese Nachricht von der Entwicklung erhalten.

Roberto
quelle
0

Auch ich hatte das gleiche Problem und habe einen "Factory Data Reset" durchgeführt, der danach einwandfrei funktioniert hat.

Monish
quelle
8
Ich würde dies wirklich nicht als Lösung empfehlen. Total Overkill.
Tim
3
Es löscht Ihre / Daten, wodurch Speicherplatz frei wird, sodass die Installation wieder funktioniert. Ein sehr stumpfes Instrument und keine Lösung. Der Fehler kann nach einigen Apps wieder auftreten.
user999717
22
Dies ist das Äquivalent des Arztes, der sagt: Ich weiß nicht, was mit Ihrem Arm los ist, also schneide ich ihn ab.
Derek
0

Ich hatte keinen Root-Zugriff auf meinem Telefon und bin nicht darauf vorbereitet, dass meine App auf der SD-Karte installiert wird. 15 MB Speicherplatz sind verfügbar /data/und meine Anwendung ist unter 2 MB.

Für eine Weile kam ich durch; Bereinigen des Eclipse- Projekts und Neustarten des Telefons, aber schließlich funktionierte das nicht mehr (wahrscheinlich nach einem Update).

Das Bereinigen meines Anwendungscaches hat das Problem für mich gelöst und erfordert keinen Neustart des Telefons oder Deinstallation der App.

Es gibt Anwendungen auf dem Markt, mit denen Sie den Cache mehrerer Anwendungen gleichzeitig leeren können. Suche nach "sauber".

J0hnG4lt
quelle