今天在我的設備上安裝應用程序時,出現「安裝錯誤:INSTALL_FAILED_INSUFFICIENT_STORAGE」錯誤。 它工作正常,直到昨天,今天只有即時通訊面臨這個問題。我刪除了一些SD卡上的文件,但仍然面臨這個問題。我相信這不是SD卡上空間的問題。任何人都可以建議如何解決這個問題。Android:安裝錯誤:INSTALL_FAILED_INSUFFICIENT_STORAGE
--nehatha
今天在我的設備上安裝應用程序時,出現「安裝錯誤:INSTALL_FAILED_INSUFFICIENT_STORAGE」錯誤。 它工作正常,直到昨天,今天只有即時通訊面臨這個問題。我刪除了一些SD卡上的文件,但仍然面臨這個問題。我相信這不是SD卡上空間的問題。任何人都可以建議如何解決這個問題。Android:安裝錯誤:INSTALL_FAILED_INSUFFICIENT_STORAGE
--nehatha
它得到了具有android:installLocation="preferExternal"
的清單文件的<manifest>
標籤解決。
象下面這樣:
<?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">
謝謝
感謝您!此外,這個線程可能對使用上述解決方案的人有用:http://stackoverflow.com/questions/3213427/not-able-to-use-new-resource-identifiers-in-android-with-targetsdkversion-define –
我在清單文件中得到了這個msg: - > error:沒有發現屬性'installLocation'在包'android'中的資源標識符請幫助 –
問題現在修復....它似乎這個解決方案與minsdk = 8 感謝:) –
在我的情況下,使用明顯的標記沒有工作的解決方案,因爲沒有該標記的Android資源。
什麼工作只是在手機上卸載應用程序。還有我同時安裝的其他幾個版本。
以上解決方案對我無效。這一個工作! – Manishankar
此問題是因爲您的設備沒有更多的空間來安裝應用程序。
在星系設備:
在我的情況我發現,存儲 - >其它文件 - > CasheData被佔用了8GB,消耗整個內部存儲器。清空文件夾並釋放內存。
重啓設備後,沒有任何錯誤
你需要做兩件事情之後,這個錯誤將得到解決安裝的應用程序。
在您的AndroidManifest.xml文件中,在清單標記中添加android:installLocation =「preferExternal」。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.packagename.appname"
android:versionCode="1"
android:versionName="1.0"
android:installLocation="preferExternal">
更重要的是,清除設備中的緩存數據。轉到設置 - >存儲 - >點擊緩存數據。這將清除緩存並釋放空間。
重新連接設備,清理項目並再次在設備上運行。該項目現在將在您的設備上運行。
以我爲例,我是在模擬器上運行,我的應用程序是在本地代碼崩潰由於accessing a stale local reference。這很可能是無關緊要的,但我提到它是在崩潰導致問題的情況下。基於與INSTALL_FAILED_INSUFFICIENT_STORAGE的建議,我現在在使用PM卸載這些崩潰後我的申請勤奮:
adb shell pm uninstall <my-application-package>
大多數時候,這似乎重置仿真器的狀態,這樣我可以上傳/安裝/下次啓動。
我有一段短暫非常大(〜60Mb)的.APK經驗。因爲模擬器真的需要APK的3倍大小(1x上傳到/ data/local/tmp,2x保持安裝的-1.apk和-2。apk拷貝到/ data/app),當我的模擬器內部存儲有限時,這是一個問題。
我也使它成爲一個習慣,在這些情況下刪除默認的包在/ data/app中
adb shell rm /data/app/*
,並刪除我可能已經被推到/數據/本地/ tmp中的任何殘留文件
adb shell rm /data/local/tmp/*
即使採取了這些措施,儘管表面上有足夠的可用空間,但我仍經歷了INSTALL_FAILED_INSUFFICIENT_STORAGE(由du
和df
報告)。所以,似乎有一些殘留的配置文件。在這些情況下,我必須使用AVD從仿真器映像中輸入Wipe Data
。
在我的情況下關於INSTALL_FAILED_INSUFFICIENT_STORAGE。 我不得不去編輯我的設備下我的設備的AVD內部和SD存儲大小Android Virtual Deviece Manager。我增加了內部存儲從200到2000,並且SD卡也增加到了2000.並且在我的AndroidManifest.xml
文件中添加了android:installLocation="preferExternal"
它對我很有效。
我無法卸載應用程序,因爲它沒有出現在應用程序列表中。 我不得不刪除庫文件從 /data/app-lib
然後再次安裝該應用程序。 ADB安裝
我試過很多東西從這個線程和其他許多人,但我的情況下,什麼都不會解決它會保持與該消息突然出現,對我這是什麼做的是去應用程序>谷歌播放服務和清除那裏的數據。
我在GooglePlayServices 7.3.29並且正在調試這個老的Galaxy S1
解決了我的問題。問題是,我已經設置了一套通過我的根奇巧4.4.2的手機上,亞行同時安裝位置,把在SD卡我的應用程序:
adb shell
pm set-install-location 2
說卡是便宜又失敗了。即使我將默認位置設置爲內置SD卡,即使我刪除了「損壞的」(便宜且無用的)SD卡,我現在也可以安裝任何應用程序......但現在一切正常,解決方案是運行
pm set-install-location 2
不幸的是,當我運行這個命令時,我看到'Error:java.lang.SecurityException:Package android不屬於2000'。在Xperia Z2上運行,不帶根的Android 5.0。 – Crummy
我的問題是,我設置應用程序位置外部SD卡通過外殼在ADB後,我的SD卡死亡。即使它不再安裝,並且按設置屏幕,默認位置是內部卡,我的應用程序不會安裝。我不得不通過shell重置默認位置才能使其工作。請參閱我的回答Android: Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE。
當我得到這個錯誤試圖安裝到SD卡並沒有爲我工作,我使用HTC手機,但從手機刪除一些應用程序的工作。我認爲手機在內部存儲器上需要一些空間,而這個空間的大小可能因手機而異。
我正在使用Cordova進行Android和iPhone開發。經過4個月的發展,這個錯誤已經出現了大約10個不同的時間。
什麼工作對我來說
*#9900# - #方法1 起初,我所要做的就是......
但今天,上面的方法#1沒有奏效。所以我...
方法2 - 刪除數據下載版
謝謝,並希望這有助於!
也許這可以幫助你......
*如果可移動SD卡。請將其更改爲內部設備存儲。因爲,也許你的SD卡有問題。
希望它有助於
當外部存儲不可用,它不是關於存儲空間,重啓真實設備修正了這個錯誤。
我的日誌顯示這些行:
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)
主要原因似乎在PackageManagerService除外:
pkgSetting = mSettings.getPackageLPw(...);
if (pkgSetting == null) {
throw new PackageManagerException(INSTALL_FAILED_INSUFFICIENT_STORAGE,
"Creating application package " + pkg.packageName + " failed");
}
對於不共享的用戶未安裝的用戶應用程序,在Settings使用的代碼是:
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);
} ...
}
所以有一些問題m與removeUserIdLPw邏輯或卸載不調用它來釋放應用程序的用戶ID,這需要一些詳細的卸載日誌,我目前沒有。
你確定它是關於SD卡上的空間比內存大嗎? – Snicolas
繼續並將某些應用程序從內部存儲器移動到SD卡或刪除某些佔用內部存儲器的應用程序。 – PravinCG
看到這篇文章 http:// stackoverflow。com/questions/2239330/how-to-increase-storage-for-android-emulator-install-failed-insufficient-storag – Noel