2015-03-23 4 views
4

У меня возникают проблемы с выпуском Android-приложения. Каждый раз, когда приложение закрывается и снова открывается, постоянное хранилище cookie (loopj async-http-client) на основе SharedPreferences пуст. Это поведение не может быть реплицировано при сборке отладки без minifyEnabled. Я попытался отключить все сокращения и оптимизации, сделанные proguard (http://pastebin.com/PC2r8mGM), но проблема не устранена.ProGuard и SharedPreferences

+0

'' отключить все сокращения и оптимизации, сделанные proguard ". В чем смысл использования proguard? –

ответ

1

следует отключить ProGuard для библиотеки:

-keep class com.loopj.android.** { *; } 
-keep interface com.loopj.android.** { *; } 

или вы можете оставить только класс вы столкнулись с проблемой. (PersistentCookieStore)

2

Я столкнулся с этой проблемой. Я установил его, добавив

-dontobfuscate 

К моим правилам защиты.

+1

Значит, вы используете Proguard для сокращения? –

+0

Я обычно использовал dontobfuscate, чтобы узнать, разрешила ли она мою проблему. Теперь я вытащил весь код, который использовал SharedPreferences в отдельный класс, и исключил его, используя класс -keep class com.example.keystore. Подобно ответу Coldfish. –