2016-04-11 4 views
2

Я построил APK выпуска моего приложения. Это идеально подходит для множества устройств; но на этом устройстве (Google Nexus 5 - 4.4.4 - API 19) есть авария:Android: java.lang.NoClassDefFoundError на выпуск APK

Fatal Exception: java.lang.NoClassDefFoundError: org.joda.time.format.ISODateTimeFormat$Constants 
     at org.joda.time.format.ISODateTimeFormat.dateTimeNoMillis(ISODateTimeFormat.java:789) 
     at com.azeoo.android.network.converter.DateTimeConverter.deserializeDateTime(DateTimeConverter.java:84) 
     at com.azeoo.android.network.converter.DateTimeConverter.deserialize(DateTimeConverter.java:70) 
     at com.azeoo.android.network.converter.DateTimeConverter.deserialize(DateTimeConverter.java:24) 
... 

Существует эта библиотека правильно добавлен Gradle файла:

compile 'joda-time:joda-time:2.9.2' 

Мой Proguard файл:

# Specific for https://github.com/PhilJay/MPAndroidChart 
-keep class com.github.mikephil.charting.** { *; } 

# Specific for https://github.com/bumptech/glide 
-keep public class * implements com.bumptech.glide.module.GlideModule 
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { 
    **[] $VALUES; 
    public *; 
} 

# Esperandro 
# Specific for http://dkunzler.github.io/esperandro/ 
-keepnames class de.devland.** { *; } 
-keep class **$$Impl { public *;} 

# keep the annotated things annotated 
-keepattributes *Annotation*, EnclosingMethod, Signature, InnerClasses 

# for dagger also preserve the interfaces 
# assuming they reside in the sub-package 'preferences_main' and all end with 'Prefs' 
#-keep class preferences_main.**Prefs { public *;} 

# for gson see their documentation at 
# https://code.google.com/p/google-gson/source/browse/trunk/examples/android-proguard-example/proguard.cfg 

# Butterknife 
# http://jakewharton.github.io/butterknife/ 
-keep class butterknife.** { *; } 
-dontwarn butterknife.internal.** 
-keep class **$$ViewInjector { *; } 

-keepclasseswithmembernames class * { 
    @butterknife.* <fields>; 
} 

-keepclasseswithmembernames class * { 
    @butterknife.* <methods>; 
} 

# Remove Android logging calls 
# @see http://stackoverflow.com/questions/15571520/how-to-configure-proguard-to-only-remove-android-logging-calls 
# This will not remove error log 
-assumenosideeffects class com.azeoo.android.util.LogUtils { 
    public static void LOGD(...); 
    public static void LOGV(...); 
    public static void LOGI(...); 
    public static void LOGW(...); 
    public static void LOGE(...); 
} 

Не могли бы вы помочь мне, ребята?

+0

Не с количеством информации, которую вы нам дали. Вы используете proguard? –

+0

Да, я обновил свой пост. Благодаря ! – anthony

+0

Вы используете multidex? – Jahnold

ответ

3

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

@Override 
protected void attachBaseContext(Context base) { 
    super.attachBaseContext(base); 
    MultiDex.install(this); 
} 
Смежные вопросы