3

У нас сбой при запуске приложения, и он пытается создать общие настройки и прочитать из базы данных. Это происходит на разных устройствах, в основном на HTC, но также и на LG, которые используют Gingerbread, и они не внедрены.Не удалось создать каталог для SharedPreferences или DataBase

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 

Мы инициализируем SharedPreferences с Roboguice.

Удаление приложения и его повторная установка, похоже, помогают, но у нас нет способа сказать это нашим пользователям.

Я огляделся и обнаружил, что люди обычно сталкиваются с этой проблемой в корневых устройствах или на конкретных устройствах Samsung.

Заранее благодарен!

Примечание: наше настоящее имя пакета уникально, я изменил его на код выше, поэтому он не является общедоступным.

+0

Я также вижу такие вещи в своих отчетах об ошибках. Я думаю, что в ОС есть ошибка, которая иногда оставляет приложения без возможности доступа к их собственным файлам и т. Д. Часто запускается обновлениями ОС. Удаление и переустановка - единственное решение, которое я нашел. Я полагаю, вы могли бы написать свое приложение таким образом, чтобы оно сохраняло все на SD-карте/внутреннем хранилище вместо защищенного хранилища приложения. –

+0

Спасибо, Ланс! Вот где мы это видим, в наших отчетах о криттеризме. Мы считаем, что это проблема ОС. Спасибо за предложение, мы можем попробовать! – cperes

ответ

1

Я бы предположил, что вы изменили название упаковки вашего приложения с com.example.project на нечто более уникальное. Вероятно, у пользователей, у которых есть эта проблема, есть другое приложение, установленное на их устройстве, используя одно и то же имя пакета, тем самым вызывая конфликт.

+0

Спасибо, Дэвид, но наше имя пакета приложений не такое, я изменил его, так как я не хочу публиковать его. Наш уникальный, так что это не проблема, которую мы имеем. Благодаря! – cperes

1

Вам нужно добавить разрешения в вашем AndroidManifest.xml:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 

У меня такая же проблема с вами, и я решил его с вышеуказанным раствором. Я думаю, вы тоже должны забыть о разрешениях. Попробуй.