Android: erreur D'Installation: L'installation a échoué stockage insuffisant
je reçois" erreur D'Installation: INSTALL_FAILED_INSUFFICIENT_STORAGE " erreur lors de l'installation de l'application sur mon appareil aujourd'hui. Il fonctionne bien jusqu'à hier, aujourd'hui je suis seul face à ce problème. J'ai effacé des fichiers sur ma carte SD, mais je dois encore faire face au problème. Je suis sûr que ce n'est pas le problème avec l'espace sur la carte SD. Est-ce que quelqu'un peut suggérer comment résoudre cela?
--nehatha
15 réponses
il a été résolu en ayant android:installLocation="preferExternal"
pour <manifest>
étiquette de dossier de manifeste.
comme ci-dessous:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="bros.imaq.demilic"
android:versionCode="1"
android:versionName="1.0"
android:installLocation="preferExternal">
Merci
Vous devez faire deux choses après lesquelles cette erreur sera résolu.
-
dans votre AndroidManifest.ajouter un fichier xml à android: installLocation= "preferExternal" dans votre étiquette de manifeste.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.packagename.appname" android:versionCode="1" android:versionName="1.0" android:installLocation="preferExternal">
-
plus important, effacez les données de cache dans votre périphérique. Goto paramètres -> stockage -> cliquez sur les données mises en cache. Ceci nettoiera la cache et libérera l'espace.
-
Reconnectez votre appareil, nettoyez votre projet et exécutez à nouveau sur l'appareil. Le projet va maintenant fonctionner sur votre appareil.
dans mon cas, la solution utilisant l'étiquette de manifeste n'a pas fonctionné, car il n'y avait aucune ressource Android pour cette étiquette.
ce qui a fonctionné, c'est simplement de désinstaller l'application du téléphone. Et les quelques autres versions que j'avais installées simultanément.
a réglé mon problème. le problème était que j'avais mis l'ensemble de l'emplacement d'installation via adb sur mon KitKat 4.4.2 téléphone enraciné à un moment donné, pour mettre mes applications sur une carte SD:
adb shell
pm set-install-location 2
dit carte était pas cher et a échoué. même si je définissais l'emplacement par défaut à la carte SD interne, même si j'enlevais la carte SD "endommagée" (bon marché et inutile), Je ne pourrais plus installer d'applications... mais tout va bien maintenant, la solution était d'exécuter
pm set-install-location 2
j'ai essayé beaucoup de choses à partir de ce fil et beaucoup d'autres , mais dans mon cas, rien ne serait corriger il serait continuer à popping avec ce message, pour moi ce qu'il a fait, il était aller à Applications>Google Play Services et effacer les données il.
je suis à GooglePlayServices 7.3.29 et je déboguais sur cette vieille galaxie S1
dans mon cas, je courais sur un émulateur et mon application s'est écrasée à cause de accédant à une référence locale périmée en code natif. C'est très probablement hors de propos, mais je le mentionne au cas où les accidents contribuent au problème. Sur la base d'un conseil relatif à INSTALL_FAILED_INSUFFICIENT_STORAGE , je suis maintenant diligent en utilisant le PM pour désinstaller mon application après ces accidents:
adb shell pm uninstall <my-application-package>
la Plupart du temps, ce semble pour réinitialiser l'état de l'émulateur afin que je puisse télécharger/installer/lancer la prochaine fois.
j'ai eu l'expérience avec un .APK qui était brièvement très grand (~60Mb). Parce que l'émulateur a vraiment besoin de 3x la taille de L'APK Disponible (1x pour télécharger dans /data/local/tmp, 2x pour garder le -1 installé.apk et -2.apk copies in/data / app), c'était un problème lorsque mon émulateur avait un stockage interne limité.
j'ai aussi l'habitude dans ces cas de supprimer les paquets par défaut dans /data /app
adb shell rm /data/app/*
et pour supprimer tous les fichiers résiduels que j'ai pu pousser vers/data/local / tmp
adb shell rm /data/local/tmp/*
même avec ces mesures, j'ai connu INSTALL_FAILED_INSUFFICIENT_STORAGE malgré apparemment avoir suffisamment d'espace libre (comme rapporté par du
et df
). Donc, il semble qu'il y ait une faille dans la configuration résiduelle. Dans ces cas, je dois Wipe Data
de l'émulateur image en utilisant AVD.
je n'ai pas pu désinstaller l'application comme il n'était pas présent dans la liste des applications. J'ai dû supprimer le fichier de la bibliothèque de / data / app-lib
a ensuite de nouveau installé l'application. adb install
sur galaxy device:
dans mon cas j'ai trouvé que le stockage->les dossiers divers-> CasheData est occupé avec 8 Go, consommant toute la mémoire interne. Vider le dossier et libérer la mémoire.
après redémarrage de l'appareil, applications installées sans aucune erreur""
dans mon cas en ce qui concerne INSTALL_FAILED_INSUFFICIENT_STORAGE.
J'ai dû aller et éditer ma taille de stockage interne AVD et SD de mon appareil sous Android Virtual Deviece Manager . J'augmente le stockage interne de 200 à 2000, et la carte SD aussi à 2000. Et ajouter le android:installLocation="preferExternal"
dans mon AndroidManifest.xml
fichier
et ça a marché pour moi.
mon problème était que je réglais l'emplacement de l'application sur une carte SD externe via shell sur adb après quoi ma carte SD est morte. même s'il n'était plus monté et selon L'écran Paramètres, l'emplacement par défaut était la carte interne, mon application ne s'installerait pas. j'ai dû réinitialiser l'emplacement par défaut via shell pour le faire fonctionner. voir ma réponse à Android: erreur D'Installation: INSTALL_FAILED_INSUFFICIENT_STORAGE .
quand j'ai eu cette erreur en essayant D'installer sur la carte SD ne fonctionnait pas pour moi et j'utilise un téléphone htc, mais la suppression de certaines applications de la forme du téléphone a fonctionné. Je pense que le téléphone a besoin d'une certaine quantité d'espace sur la mémoire interne et cette quantité d'espace peut varier d'un téléphone à l'autre.
J'utilise Cordova pour mon développement Android et iPhone. Après 4 mois de développement, cette erreur a environ 10 fois.
WHAT WORKED FOR ME
* # 9900# - METHOD #1 Au début, tout ce que j'avais à faire, c'était...
- à la Main, composez le *#9900#; puis choisissez supprimer DUMPSTATE. Mais après quelques semaines de le faire à l'occasion, j'ai toujours l'erreur.
- effacer le bélier...
- LONG PRESS THE HOME BUTTON
- cliquez sur la RAM bttn _ Sur le bouton Effacer de la Mémoire bttn à fond
- désinstaller mon application. MAINTENANT, PLUS AUCUNE ERREUR. YAY!!!!!
mais aujourd'hui, la méthode n ° 1 ci-dessus n'a pas fonctionné. Donc, I...
MÉTHODE #2-SUPPRIMER LES DONNÉES DANS LES TÉLÉCHARGEMENTS
- j'ai tout supprimé dans le dossier Téléchargements, et... MAINTENANT, PLUS AUCUNE ERREUR. YAY!!!!!
Merci et espérons que cette aide!
peut-être que ceci pourrait vous aider...
- paramètres de vérification > stockage > vérification de l'emplacement de l'installation préaffranchie*
*if amovible SD Card. veuillez modifier le dispositif Interne de stockage. parce que, peut-être que votre carte SD a un problème.
j'espère que ça aide
lorsque le stockage externe n'est pas disponible et qu'il ne s'agit pas d'espace de stockage, redémarrage de l'appareil réel corrige cette erreur.
Mon journal montre ces lignes :
PackageManager: Package ... could not be assigned a valid uid
PackageManager: package setting is null
PackageManager: Skipping remove dir for ...(user:0, appId:null)
PackageManager: Package couldn't be installed in /data/app/...
PackageManager: com.android.server.pm.PackageManagerException: Creating application package ... failed
PackageManager: at com.android.server.pm.PackageManagerService.scanPackageDirtyLI(PackageManagerService.java:10630)
cause principale semble l'exception dans PackageManagerService :
pkgSetting = mSettings.getPackageLPw(...);
if (pkgSetting == null) {
throw new PackageManagerException(INSTALL_FAILED_INSUFFICIENT_STORAGE,
"Creating application package " + pkg.packageName + " failed");
}
pour une application utilisateur non installée sans utilisateur partagé, le code utilisé dans paramètres est :
private PackageSetting getPackageLPw(...) {
// Assign new user id
p.appId = newUserIdLPw(p);
if (p.appId < 0) {
PackageManagerService.reportSettingsProblem(Log.WARN,
"Package " + name + " could not be assigned a valid uid");
return null;
}
}
// Returns -1 if we could not find an available UserId to assign
private int newUserIdLPw(Object obj) {
// None left?
if (N > (Process.LAST_APPLICATION_UID-Process.FIRST_APPLICATION_UID)) {
return -1;
}
}
private void removeUserIdLPw(int uid) {
if (uid >= Process.FIRST_APPLICATION_UID) {
final int N = mUserIds.size();
final int index = uid - Process.FIRST_APPLICATION_UID;
if (index < N) mUserIds.set(index, null);
} ...
}
donc il y a un problème avec removeUserIdLPw logic ou uninstall ne l'appelant pas à free app user id, qui a besoin de quelques logs de désinstallation détaillés que je n'ai pas pour le moment.
ce problème est parce que votre appareil n'a pas plus d'espace pour installer l'application.