當工程使用android:installLocation="preferExternal"時,某些時候會出現
Installation error: INSTALL_FAILED_CONTAINER_ERROR
今天我在N880 上調試我的程式,有時候程式報告無法安裝,用Adb install 顯示Failure [INSTALL_FAILED_CONTAINER_ERROR]
查看logcat 顯示
07-10 14:05:50.133: E/Vold(79): ASEC file '/mnt/secure/asec/smdl2tmp1.asec' currently exists - destroy it first! (Address already in use)
07-10 14:05:50.143: E/PackageHelper(670): Failed to create secure container smdl2tmp1
07-10 14:05:50.143: E/DefContainer(670): Failed to create container smdl2tmp1
顯然是/mnt/secure/asec/smdl2tmp1.asec 出問題了。
由於My Phone沒有root ,不能直接存取這個檔案也不能 adb shell 來rm
adb su root 顯示
C:\Users\luozhuang\workspace\word2text>adb shell
$ rm /mnt/secure/asec/smdl2tmp1.asec
rm /mnt/secure/asec/smdl2tmp1.asec
rm failed for /mnt/secure/asec/smdl2tmp1.asec, Permission denied
$ sudo rm /mnt/secure/asec/smdl2tmp1.asec
sudo rm /mnt/secure/asec/smdl2tmp1.asec
sudo: permission denied
$ su
su
su: permission denied
$ su root
su root
su: permission denied
解決方案就是:
用USB大容量方式 串連電腦,
進入SD卡下.android_secure目錄
(目錄為隱藏目錄,需要將電腦 資源管理員-工具-檔案夾選項-查看 中的“顯示所有檔案和檔案夾”一項選中);
尋找“smdl2tmp1.asec”檔案,將其刪除。
然後推出 手機或者拔下資料線
重新安裝 就可以了。