我有一个Android应用程序,它有一个服务,这应该只在内部安装。然而,一些使用ROOT的用户正在SD卡上安装它并报告各种奇怪的错误。
当用户这样做时,SharedPreferences会去哪里?它们是否也存储在SD卡上(对我来说真的很糟糕,因为我经常写它们)还是它们总是在内部存储上?我看到的一些错误似乎表明了这种情况。
如果是这样,我如何检测到我的SharedPreference文件确实在SD卡上?
谢谢!
答案 0 :(得分:4)
当应用程序移动到SD卡时,只有.apk被移动到/mnt/asec/package_name/pkg.apk。 shared_prefs,cache,databases等目录和文件保留在/ data / data / package_name下的/ data分区中。
我在运行Bugless Beast 0.6.2.1的Moto Droid 1上检查过这个。
仅供参考,服务将从已移至SD卡的应用程序运行良好。移动到SD卡的唯一问题是,当卸载SD卡时,您的应用程序(及其服务)将无法运行。