2016-04-11 11 views
2

私は自分のアプリケーションのリリースAPKを作成しました。それは多くのデバイスで完璧です。しかし、このデバイス(Googleのネクサス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

あなたが私たちに与えた情報はありません。あなたはプロガードを使っていますか? –

+0

はい、投稿を更新しました。ありがとう! – anthony

+0

multidexを使用していますか? – Jahnold

答えて

3

私はMultiDexは他のデバイスでも動作しますが、KitKatでは苦労していると言います。アプリケーションクラスに以下を追加してください:

@Override 
protected void attachBaseContext(Context base) { 
    super.attachBaseContext(base); 
    MultiDex.install(this); 
} 
関連する問題