Я сделал Contact App с помощью пакетной обработки, как показано нижеОшибки после знака APK
final public class BatchOperation {
private final String TAG = "BatchOperation";
private final ContentResolver mResolver;
// List for storing the batch mOperations
private final ArrayList<ContentProviderOperation> mOperations;
public BatchOperation(Context context, ContentResolver resolver) {
mResolver = resolver;
mOperations = new ArrayList<ContentProviderOperation>();
}
public int size() {
return mOperations.size();
}
public void add(ContentProviderOperation cpo) {
mOperations.add(cpo);
}
public Uri execute() {
Uri result = null;
if (mOperations.size() == 0) {
return result;
}
// Apply the mOperations to the content provider
try {
ContentProviderResult[] results = mResolver.applyBatch(
ContactsContract.AUTHORITY, mOperations);
if ((results != null) && (results.length > 0))
result = results[0].uri;
} catch (final OperationApplicationException e1) {
Log.e(TAG, "storing contact data failed", e1);
} catch (final RemoteException e2) {
Log.e(TAG, "storing contact data failed", e2);
}
mOperations.clear();
return result;
}
Все отлично работает в режиме отладки, но после того, как я подписал мое приложение в режиме выпуска я сталкиваюсь с этой проблемой
E/BatchOperation﹕ storing contact data failed
java.lang.ClassCastException: a cannot be cast to android.content.ContentProviderOperation
at android.content.ContentProviderProxy.applyBatch(ContentProviderNative.java:479)
at android.content.ContentProviderClient.applyBatch(ContentProviderClient.java:227)
at android.content.ContentResolver.applyBatch(ContentResolver.java:951)
в этой линии
ContentProviderResult[] results = mResolver.applyBatch(ContactsContract.AUTHORITY,
mOperations);
Вот мой ProGuard файл
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-verbose
-dump class_files.txt
-printseeds seeds.txt
-printusage unused.txt
-printmapping mapping.txt
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-allowaccessmodification
-keepattributes *Annotation*
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
-repackageclasses ''
-dontwarn com.actionbarsherlock.**
-dontwarn org.apache.**
-dontwarn com.commonsware.**
-dontwarn freemarker.**
-dontwarn ezvcard.**
-keep class org.apache.** { *; }
-keep class android.support.v4.app.** { *; }
-keep class com.actionbarsherlock.** { *; }
-keep class ezvcard.** { *; }
-keep class com.fasterxml.jackson.** { *; }
Спасибо за чтение,
Да, после отключения proguard все в порядке, –
Попробуйте без опции оптимизации. Я больше не использую его, потому что у него немного проблем. –
Благодарим вас за ответ, но проблема все еще происходит :( –