I try to deploy my app and sometimes get this error:
Failure
[INSTALL_FAILED_CONTAINER_ERROR]
I tried to google it but don't find what the error means or what it's caused by. I deploy via IDE (IntelliJ) the file gets copied to the device to the /data/local/tmp (unrooted Huawei Ideos, running 2.2), but the package manager doesn't seem to like it. Before installing the apk, I already removed the app from the device beforehand. I also made sure there was no old file under /data/local/tmp on the device. Still I'm getting this error now. The package should be signed with the debug key, since I deploy via IDE by 'running' the app.
$ pwd
/data/local/tmp
$ ls -l
-rw-rw-rw- shell shell 17257686 2011-04-21 20:31
com.company.shop
$ pm install -r com.company.shop
pkg: com.company.shop
Failure [INSTALL_FAILED_CONTAINER_ERROR]
What does it mean and how to resolve it?
Edit/Update:
I can avoid the error when not allowing the app to be installed on sdcard, setting
android:installLocation="internalOnly"
in the manifest. It's ok for development, but for production, it's not really what I want - since my app is quite large with 17mb; therefore I prefer it to be on sdcard. How to ever be able to install it on the external memory without rooting (since this is the only way I could delete /mnt/secure/asec/smdl2tmp1.asec, which seems to be one solution as well).
Change the install location from
android:installLocation="preferExternal"
into
android:installLocation="auto"
in your project's AndroidManifest.xml.