我们在启动应用程序时遇到了崩溃,它尝试创建共享首选项并从数据库中读取。它发生在运行Gingerbread的不同设备中,主要是HTC,也包括LG,并且它们没有根源。
E/ApplicationContext(2630): Couldn't create directory for SharedPreferences file /data/data/com.example.project/shared_prefs/com.example.project_preferences.xml
E/Database(2630): sqlite3_open_v2("/data/data/com.example.project/databases/project.db", &handle, 6, NULL) failed
我们正在使用Roboguice初始化SharedPreferences。
卸载应用并重新安装它似乎有所帮助,但我们无法向用户说明这一点。
我环顾四周,发现人们通常在root设备或特定三星设备中遇到此问题。
提前致谢!
注意:我们的真实包名是唯一的,我在上面的代码中对其进行了更改,因此它不公开。
答案 0 :(得分:2)
您需要在AndroidManifest.xml中添加权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
我遇到了同样的问题,我用上述解决方案解决了这个问题。我想你也必须忘记权限。试试吧。
答案 1 :(得分:1)
我建议您将应用程序的程序包名称从com.example.project
更改为更独特的名称。可能是出现此问题的用户使用相同的软件包名称在其设备上安装了另一个应用程序,从而导致冲突。