2015-08-19 35 views
6

Google Play'de, Kumaş/Crashlytics ile ilgili bir kilitlenme görüyorum. Bu, normal Crashlytics'ten yeni Fabric Crashlytics'e güncellendikten sonra oldu. Cihazlarımdan sadece bir tanesini yeniden üretebilirim (Galaxy S2). Sahip olduğum diğer tüm cihazlar (Nexus 5 ve S4) kilitlenmiyor.Kumaş/Crashlytics NoClassDefFoundError yalnızca belirli cihazlarda

08-19 09:32:26.328 7084-7084/com.tsm.countryjam D/dalvikvm﹕ WAIT_FOR_CONCURRENT_GC blocked 0ms 
08-19 09:32:26.653 7084-7088/com.tsm.countryjam D/dalvikvm﹕ GC_CONCURRENT freed 251K, 12% free 9567K/10823K, paused 12ms+2ms, total 70ms 
08-19 09:32:26.653 7084-7084/com.tsm.countryjam D/dalvikvm﹕ WAIT_FOR_CONCURRENT_GC blocked 42ms 
08-19 09:32:26.653 7084-7100/com.tsm.countryjam D/dalvikvm﹕ WAIT_FOR_CONCURRENT_GC blocked 42ms 
08-19 09:32:26.668 7084-7084/com.tsm.countryjam I/dalvikvm﹕ Failed resolving Lcom/crashlytics/android/beta/Beta; interface 9027 'Lio/fabric/sdk/android/services/common/DeviceIdentifierProvider;' 
08-19 09:32:26.668 7084-7084/com.tsm.countryjam W/dalvikvm﹕ Link of class 'Lcom/crashlytics/android/beta/Beta;' failed 
08-19 09:32:26.668 7084-7084/com.tsm.countryjam E/dalvikvm﹕ Could not find class 'com.crashlytics.android.beta.Beta', referenced from method com.crashlytics.android.Crashlytics.<init> 
08-19 09:32:26.668 7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to resolve new-instance 1791 (Lcom/crashlytics/android/beta/Beta;) in Lcom/crashlytics/android/Crashlytics; 
08-19 09:32:26.668 7084-7084/com.tsm.countryjam D/dalvikvm﹕ VFY: replacing opcode 0x22 at 0x000a 
08-19 09:32:26.668 7084-7084/com.tsm.countryjam I/dalvikvm﹕ Failed resolving Lcom/crashlytics/android/beta/Beta; interface 9027 'Lio/fabric/sdk/android/services/common/DeviceIdentifierProvider;' 
08-19 09:32:26.668 7084-7084/com.tsm.countryjam W/dalvikvm﹕ Link of class 'Lcom/crashlytics/android/beta/Beta;' failed 
08-19 09:32:26.668 7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/crashlytics/android/beta/Beta;) 
08-19 09:32:26.673 7084-7084/com.tsm.countryjam I/dalvikvm﹕ Failed resolving Lcom/crashlytics/android/beta/Beta; interface 9027 'Lio/fabric/sdk/android/services/common/DeviceIdentifierProvider;' 
08-19 09:32:26.673 7084-7084/com.tsm.countryjam W/dalvikvm﹕ Link of class 'Lcom/crashlytics/android/beta/Beta;' failed 
08-19 09:32:26.673 7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/crashlytics/android/core/PinningInfoProvider;) 
08-19 09:32:26.673 7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/crashlytics/android/core/PinningInfoProvider;) 
08-19 09:32:26.673 7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/crashlytics/android/core/PinningInfoProvider;) 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/crashlytics/android/core/CrashlyticsListener;) 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/crashlytics/android/core/CrashlyticsListener;) 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam I/dalvikvm﹕ Failed resolving Lcom/crashlytics/android/beta/Beta; interface 9027 'Lio/fabric/sdk/android/services/common/DeviceIdentifierProvider;' 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam W/dalvikvm﹕ Link of class 'Lcom/crashlytics/android/beta/Beta;' failed 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam D/dalvikvm﹕ DexOpt: unable to opt direct call 0x3474 at 0x0f in Lcom/crashlytics/android/Crashlytics;.<init> 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam I/dalvikvm﹕ Failed resolving Lcom/crashlytics/android/answers/SessionEventTransform; interface 9072 'Lio/fabric/sdk/android/services/events/EventTransform;' 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam W/dalvikvm﹕ Link of class 'Lcom/crashlytics/android/answers/SessionEventTransform;' failed 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam E/dalvikvm﹕ Could not find class 'com.crashlytics.android.answers.SessionEventTransform', referenced from method com.crashlytics.android.answers.Answers.initializeSessionAnalytics 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to resolve new-instance 1784 (Lcom/crashlytics/android/answers/SessionEventTransform;) in Lcom/crashlytics/android/answers/Answers; 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam D/dalvikvm﹕ VFY: replacing opcode 0x22 at 0x0004 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam I/dalvikvm﹕ Could not find method io.fabric.sdk.android.services.common.CommonUtils.logControlledError, referenced from method com.crashlytics.android.answers.Answers.initializeSessionAnalytics 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to resolve static method 59049: Lio/fabric/sdk/android/services/common/CommonUtils;.logControlledError (Landroid/content/Context;Ljava/lang/String;Ljava/lang/Throwable;)V 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam D/dalvikvm﹕ VFY: replacing opcode 0x77 at 0x0194 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam I/dalvikvm﹕ Could not find method io.fabric.sdk.android.services.settings.Settings.getInstance, referenced from method com.crashlytics.android.answers.Answers.doInBackground 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to resolve static method 59331: Lio/fabric/sdk/android/services/settings/Settings;.getInstance()Lio/fabric/sdk/android/services/settings/Settings; 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam D/dalvikvm﹕ VFY: replacing opcode 0x71 at 0x000c 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam I/dalvikvm﹕ Could not find method io.fabric.sdk.android.services.common.CommonUtils.getStringsFileValue, referenced from method com.crashlytics.android.answers.Answers.getOverridenSpiEndpoint 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to resolve static method 59043: Lio/fabric/sdk/android/services/common/CommonUtils;.getStringsFileValue (Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam D/dalvikvm﹕ VFY: replacing opcode 0x71 at 0x0008 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam E/dalvikvm﹕ Could not find class 'io.fabric.sdk.android.services.persistence.FileStoreImpl', referenced from method com.crashlytics.android.answers.Answers.getSdkDirectory 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to resolve new-instance 9090 (Lio/fabric/sdk/android/services/persistence/FileStoreImpl;) in Lcom/crashlytics/android/answers/Answers; 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam D/dalvikvm﹕ VFY: replacing opcode 0x22 at 0x0001 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam I/dalvikvm﹕ Could not find method io.fabric.sdk.android.services.common.Crash$FatalException.getSessionId, referenced from method com.crashlytics.android.answers.Answers.onException 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to resolve virtual method 59056: Lio/fabric/sdk/android/services/common/Crash$FatalException;.getSessionId()Ljava/lang/String; 
08-19 09:32:26.678 7084-7084/com.tsm.countryjam D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000b 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam I/dalvikvm﹕ Could not find method io.fabric.sdk.android.services.common.Crash$LoggedException.getSessionId, referenced from method com.crashlytics.android.answers.Answers.onException 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to resolve virtual method 59058: Lio/fabric/sdk/android/services/common/Crash$LoggedException;.getSessionId()Ljava/lang/String; 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000b 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam I/dalvikvm﹕ Failed resolving Lcom/crashlytics/android/answers/SessionEventTransform; interface 9072 'Lio/fabric/sdk/android/services/events/EventTransform;' 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam W/dalvikvm﹕ Link of class 'Lcom/crashlytics/android/answers/SessionEventTransform;' failed 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam D/dalvikvm﹕ DexOpt: unable to opt direct call 0x3455 at 0x0c in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam D/dalvikvm﹕ DexOpt: unable to opt direct call 0xe6da at 0x19 in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam D/dalvikvm﹕ DexOpt: unable to opt direct call 0xe78c at 0x36 in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam W/dalvikvm﹕ Unable to resolve superclass of Lcom/crashlytics/android/answers/SessionAnalyticsFilesManager; (9073) 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam W/dalvikvm﹕ Link of class 'Lcom/crashlytics/android/answers/SessionAnalyticsFilesManager;' failed 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam D/dalvikvm﹕ DexOpt: unable to opt direct call 0x342a at 0x4b in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam I/dalvikvm﹕ DexOpt: unable to optimize static field ref 0x5e1e at 0x72 in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam I/dalvikvm﹕ DexOpt: unable to optimize static field ref 0x5e1c at 0x7e in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam I/dalvikvm﹕ DexOpt: unable to optimize static field ref 0x5e21 at 0x8a in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam D/dalvikvm﹕ DexOpt: unable to opt direct call 0xe78f at 0x115 in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam D/dalvikvm﹕ DexOpt: unable to opt direct call 0xe78f at 0x17d in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x5e91 at 0x20 in Lcom/crashlytics/android/answers/Answers;.doInBackground 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x5e8c at 0x22 in Lcom/crashlytics/android/answers/Answers;.doInBackground 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x5e8e at 0x2a in Lcom/crashlytics/android/answers/Answers;.doInBackground 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam D/dalvikvm﹕ DexOpt: unable to opt direct call 0xe7ac at 0x07 in Lcom/crashlytics/android/answers/Answers;.getSdkDirectory 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam D/AndroidRuntime﹕ Shutting down VM 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x4127b2a0) 
08-19 09:32:26.683 7084-7084/com.tsm.countryjam E/AndroidRuntime﹕ FATAL EXCEPTION: main 
    java.lang.NoClassDefFoundError: com.crashlytics.android.beta.Beta 
      at com.crashlytics.android.Crashlytics.<init>(Crashlytics.java:29) 
      at com.tsm.events.application.TownsquareEvents.onCreate(TownsquareEvents.java:59) 
      at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1014) 
      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4251) 
      at android.app.ActivityThread.access$1400(ActivityThread.java:140) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1297) 
      at android.os.Handler.dispatchMessage(Handler.java:99) 
      at android.os.Looper.loop(Looper.java:137) 
      at android.app.ActivityThread.main(ActivityThread.java:4921) 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:511) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) 
      at dalvik.system.NativeStart.main(Native Method) 

Ve işte benim build.gradle içeriğini var: İşte yığın izleme

buildscript { 
    repositories { 
     jcenter() 
     maven { url 'https://maven.fabric.io/public' } 
    } 

    dependencies { 
     classpath 'com.android.tools.build:gradle:1.0.+' 
     classpath 'io.fabric.tools:gradle:1.+' 
    } 
} 
apply plugin: 'com.android.application' 
apply plugin: 'io.fabric' 

repositories { 
    jcenter() 
    flatDir { 
     dirs 'libs' 
    } 
    maven { url 'https://maven.fabric.io/public' } 
} 


android { 
    compileSdkVersion 22 
    buildToolsVersion "22.0.1" 

    defaultConfig { 
     applicationId "com.tsm.events" 
     minSdkVersion 15 
     targetSdkVersion 22 
     versionCode 1 
     versionName "1.0.0" 
     multiDexEnabled = true 
    } 
    dexOptions { 
     javaMaxHeapSize "4g" 
    } 
    buildTypes { 
     debug { 
      debuggable true 
     } 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 

} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile project(':libraries:ResideMenu') 
    //compile 'com.android.support:support-v4:20.0.+' 
    compile 'com.android.support:support-v4:22.0.+' 
    compile files('libs/universal-image-loader-1.9.3.jar') 
    compile 'io.realm:realm-android:0.81.1' 
    compile 'se.emilsjolander:stickylistheaders:2.5.2' 
    compile 'com.google.android.gms:play-services:6.5.87' 
    compile 'com.parse.bolts:bolts-android:1.+' 
    compile fileTree(dir: 'libs', include: 'Parse-*.jar') 
    compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true 
    } 
    // Twitter Kit 
    compile('com.twitter.sdk.android:twitter:[email protected]') { 
     transitive = true 
    } 
    compile('com.twitter.sdk.android:tweet-composer:[email protected]') { 
     transitive = true; 
    } 
    compile 'com.facebook.android:facebook-android-sdk:3.20.0' 
    compile 'com.google.maps.android:android-maps-utils:0.3+' 
    compile(name: 'estimote-sdk-preview', ext: 'aar') 
    compile files('libs/biweekly-0.4.2.jar') 
    compile files('libs/jackson-core-2.5.2.jar') 
} 
+0

Eğer crashlytics hangi sürümünü kullanıyorsunuz (... o birisi çökmesi kendi arama daraltmak yardımcı olur) sorun yalnızca 5 Android < çalıştıran cihazlarda meydana görünüyor? Ayrıca, build.gradle dosyanızın içeriğini de gönderin. – aga

+0

build.gradle içeriği ile güncellendi. Crashlytics 2.4.0 kullanıyorum. – codeman

cevap

21

Ben sadece bir önsezi ile bunu anladım! Son zamanlarda yeni Fabric çerçevesine geçtikten sonra multi-dex desteği eklemek zorunda kaldım ve belki doğru şekilde yapmadığımı hissettim. Yani bu ek değişiklikler, şimdi artık çöker ekledikten sonra:

dexOptions { 
     incremental true 
     javaMaxHeapSize "4g" 
    } 

ve ek bağımlılık:

compile 'com.android.support:multidex:' 

ve benim build.gradle olarak

, ben artımlı ayarları eklendi benim uygulama sınıfını genişletiyorum MultiDexApplication:

public class TownsquareEvents extends android.support.multidex.MultiDexApplication 
+0

Aynı sorun var ve bunun dışında tüm multidex kodları var: "incremental true". Sorun şu anda sahip olmadığım ve onları kontrol edemediğim bazı cihazlarda yeniden üretiliyor. Orada "artan gerçek" param gerekli olabilir mi? – nizhney

+0

Birisine yardımcı olabilecek ek bilgiler: Uygulama sınıfımda, MultiDex.install (bu) satırını tutmuştum; attachBaseContext(), ama super() çağrısı sonra onCreate() olmalıdır .. Bu benim için sorunu çözdü .. Umarım bu yardımcı olur – Jalpesh

0

İlk onaylama Kumaş SDK'sı sonra ekle veya değil Bu hata varsa aşağıdaki dosyaları kontrol edin.

01-26 12:15:46.186 32094-32094/com.example.android I/SELinux﹕ Function: selinux_android_load_priority [0], There is no sepolicy file. 
01-26 12:15:46.186 32094-32094/com.example.android I/SELinux﹕ SELinux: VERIFYSIG File Open Unsuccessful: 
01-26 12:15:46.186 32094-32094/com.example.android I/SELinux﹕ Function: selinux_android_load_priority , spota verifySig or checkHash fails. priority version is VE=SEPF_GT-I9500_4.4.2_0018 
01-26 12:15:46.186 32094-32094/com.example.android I/SELinux﹕ selinux_android_seapp_context_reload: seapp_contexts file is loaded from /seapp_contexts 
01-26 12:15:46.191 32094-32094/com.example.android E/dalvikvm﹕ >>>>> Normal User 
01-26 12:15:46.191 32094-32094/com.example.android E/dalvikvm﹕ >>>>> com.example.android [ userId:0 | appId:10288 ] 
01-26 12:15:46.191 32094-32094/com.example.android D/dalvikvm﹕ Late-enabling CheckJNI 
01-26 12:15:46.261 32094-32094/com.example.android E/dalvikvm﹕ Could not find class 'io.fabric.sdk.android.Kit[]', referenced from method com.example.android.ExampleApplication.onCreate 
01-26 12:15:46.261 32094-32094/com.example.android W/dalvikvm﹕ VFY: unable to resolve new-array 10457 ([Lio/fabric/sdk/android/Kit;) in Lcom/example/android/ExampleApplication; 
01-26 12:15:46.261 32094-32094/com.example.android D/dalvikvm﹕ VFY: replacing opcode 0x23 at 0x0007 
01-26 12:15:46.261 32094-32094/com.example.android W/dalvikvm﹕ Unable to resolve superclass of Lcom/crashlytics/android/Crashlytics; (8949) 
01-26 12:15:46.261 32094-32094/com.example.android W/dalvikvm﹕ Link of class 'Lcom/crashlytics/android/Crashlytics;' failed 
01-26 12:15:46.261 32094-32094/com.example.android D/dalvikvm﹕ DexOpt: unable to opt direct call 0x3705 at 0x12 in Lcom/example/android/ExampleApplication;.onCreate 
01-26 12:15:46.261 32094-32094/com.example.android I/MultiDex﹕ VM with version 1.6.0 does not have multidex support 
01-26 12:15:46.261 32094-32094/com.example.android I/MultiDex﹕ install 
01-26 12:15:46.261 32094-32094/com.example.android I/MultiDex﹕ MultiDexExtractor.load(/data/app/com.example.android-1.apk, false) 
01-26 12:15:46.271 32094-32094/com.example.android I/MultiDex﹕ loading existing secondary dex files 
01-26 12:15:46.271 32094-32094/com.example.android I/MultiDex﹕ load found 1 secondary dex files 
01-26 12:15:46.276 32094-32094/com.example.android I/MultiDex﹕ install done 
01-26 12:15:46.281 32094-32094/com.example.android I/PersonaManager﹕ getPersonaService() name persona_policy 
01-26 12:15:46.291 32094-32094/com.example.android D/AndroidRuntime﹕ Shutting down VM 
01-26 12:15:46.291 32094-32094/com.example.android W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41887c08) 
01-26 12:15:46.296 32094-32094/com.example.android E/AndroidRuntime﹕ FATAL EXCEPTION: main 
    Process: com.example.android, PID: 32094 
    java.lang.NoClassDefFoundError: io.fabric.sdk.android.Kit[] 
      at com.example.android.ExampleApplication.onCreate(ExampleApplication.java:16) 
      at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1025) 
      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4581) 
      at android.app.ActivityThread.access$1600(ActivityThread.java:161) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1325) 
      at android.os.Handler.dispatchMessage(Handler.java:102) 
      at android.os.Looper.loop(Looper.java:157) 
      at android.app.ActivityThread.main(ActivityThread.java:5356) 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:515) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081) 
      at dalvik.system.NativeStart.main(Native Method) 
01-26 12:15:52.016 32094-32094/com.example.android I/Process﹕ Sending signal. PID: 32094 SIG: 9 

build.gradle

buildscript { 
    repositories { 
     maven { url 'https://maven.fabric.io/repo' } 
    } 

    dependencies { 
     classpath 'io.fabric.tools:gradle:1.14.4' 
    } 
} 
apply plugin: 'com.android.application' 
//Put Fabric plugin after Android plugin 
apply plugin: 'io.fabric' 

repositories { 
    maven { url 'https://raw.github.com/beshkenadze/dozer/mvn-repo' } 
    maven { url 'https://maven.fabric.io/repo' } 
} 

... 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    ... 
    // Crashlytics Kit 
    compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true 
    } 
} 

afterEvaluate { 
    tasks.matching { 
     it.name.startsWith('dex') 
    }.each { dx -> 
     if (dx.additionalParameters == null) { 
      dx.additionalParameters = [] 
     } 
     dx.additionalParameters += '--multi-dex' 
     dx.additionalParameters += "--main-dex-list=$projectDir/multidex.keep".toString() 
    } 
} 

ExampleApplication.java

package com.example.android; 

import android.support.multidex.MultiDexApplication; 

import com.crashlytics.android.Crashlytics; 

import io.fabric.sdk.android.Fabric; 

public class ExampleApplication extends MultiDexApplication { 

    private ExampleManager mManager; 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     Fabric.with(this, new Crashlytics()); 

     mManager = ExampleManager.getInstance(); 
     mManager.init(getApplicationContext()); 
    } 
} 

multidex.keep

android/support/multidex/BuildConfig.class 
android/support/multidex/MultiDex$V14.class 
android/support/multidex/MultiDex$V19.class 
android/support/multidex/MultiDex$V4.class 
android/support/multidex/MultiDex.class 
android/support/multidex/MultiDexApplication.class 
android/support/multidex/MultiDexExtractor$1.class 
android/support/multidex/MultiDexExtractor.class 
android/support/multidex/ZipUtil$CentralDirectory.class 
android/support/multidex/ZipUtil.class 
com/example/android/ExampleApplication.class 

progurad-rules.pro

-dontoptimize 
-dontobfuscate 
#-optimizationpasses 5 
-printusage unused.txt 
-dontusemixedcaseclassnames 
-dontskipnonpubliclibraryclasses 
-dontpreverify 
-keepattributes SourceFile,LineNumberTable 
-keepattributes *Annotation* 
-keepattributes InnerClasses 

#Project 

-keep public class com.example.android.** { *; } 
-dontwarn com.example.android.** 
-dontwarn com.example.android.db.** 
-keep public class com.example.android.db.** { *; } 

# JavascriptInterface Proguard RULES 
-keepclassmembers class * { 
    @android.webkit.JavascriptInterface <methods>; 
} 

-keepattributes JavascriptInterface 
-keep public class com.example.android.ui.view.EditorView$EditorInterface 
-keep public class * implements com.example.android.ui.view.EditorView$EditorInterface 
-keepclassmembers class com.example.android.ui.view.EditorView$EditorInterface { 
    <methods>; 
} 

# Libs 
#-libraryjars libs/AF-Android-SDK-v2.3.1.11.jar 
#-libraryjars libs/aws-android-sdk-1.7.1.1-core.jar 
#-libraryjars libs/aws-android-sdk-1.7.1.1-s3.jar 
#-libraryjars libs/FlurryAnalytics_3.3.3.jar 
#-libraryjars libs/Parse-1.4.3.jar 
#-libraryjars libs/google-play-services-STRIPPED.jar 
#-libraryjars ../bypass-library/libs/bypass.jar 

# Models 
-keep class com.example.android.api.data.** { *; } 
-keep class com.example.android.model.** { *; } 

# Bypass 
-keep class in.uncod.android.bypass.** { *; } 

# Butterknife 
-dontwarn butterknife.internal.** 
-keep class **$$ViewInjector { *; } 
-keepnames class * { @butterknife.InjectView *;} 

# Parse.com 
-dontwarn com.parse.FacebookAuthenticationProvider* 
-dontwarn com.parse.FacebookAuthenticationProvider 
-dontwarn com.parse.ParseFacebookUtils 
-dontwarn com.parse.** 
-keep class com.parse.** { *; } 

# AWS SDK for Android 
-keep class org.apache.commons.logging.**    { *; } 
-keep class com.amazonaws.services.sqs.QueueUrlHandler { *; } 
-keep class com.amazonaws.javax.xml.transform.sax.*  { public *; } 
-keep class com.amazonaws.javax.xml.stream.**   { *; } 
-keep class com.amazonaws.services.**.model.*Exception* { *; } 
-keep class org.codehaus.**        { *; } 
-keep class com.amazonaws.internal.config.** { *; } 
-keepattributes Signature,*Annotation* 

-dontwarn javax.xml.stream.events.** 
-dontwarn com.fasterxml.jackson.** 
-dontwarn org.apache.commons.logging.impl.** 
-dontwarn org.apache.http.conn.scheme.** 
-dontwarn com.amazonaws.AmazonWebServiceRequest 
-dontwarn com.amazonaws.ClientConfiguration 
-dontwarn com.amazonaws.DefaultRequest 
-dontwarn com.amazonaws.RequestClientOptions 
-dontwarn com.amazonaws.auth.** 
-dontwarn com.amazonaws.http.AmazonHttpClient 
-dontwarn com.amazonaws.http.ExecutionContext 
-dontwarn com.amazonaws.http.impl.** 
-dontwarn com.amazonaws.internal.config.HttpClientConfig 
-dontwarn com.amazonaws.internal.config.InternalConfig 
-dontwarn com.amazonaws.internal.config.SignerConfig 
-dontwarn com.amazonaws.metrics.ServiceLatencyProvider 
-dontwarn com.amazonaws.org.apache.http.** 
-dontwarn com.amazonaws.retry.RetryPolicy 
-dontwarn com.amazonaws.util.** 
-dontwarn com.amazonaws.org.joda.** 
-dontwarn com.amazonaws.javax.** 
-dontwarn org.apache.commons.** 

# Android 
-keep public class * extends android.app.Activity 
-keep public class * extends android.webkit.WebView 
-keep public class * extends android.app.Application 
-keep public class * extends android.app.Fragment 
-keep public class * extends android.app.ListActivity 
-keep public class * extends android.app.Service 
-keep public class * extends android.content.BroadcastReceiver 
-keep public class * extends android.content.ContentProvider 
-keepclasseswithmembers class * { 
    native <methods>; 
} 

-keepclasseswithmembers class * { 
    public <init>(android.content.Context, android.util.AttributeSet); 
} 

-keepclasseswithmembers class * { 
    public <init>(android.content.Context, android.util.AttributeSet, int); 
} 

-keepclassmembers enum * { 
    public static **[] values(); 
    public static ** valueOf(java.lang.String); 
} 

-keepclassmembers class * { 
    public void onClickUpdate(android.view.View); 
} 

-keep class * implements android.os.Parcelable { 
    public static final android.os.Parcelable$Creator *; 
} 

-keep class * extends java.util.ListResourceBundle { 
    protected Object[][] getContents(); 
} 


# Google API 
-keep class com.google.** { *;} 
-keep interface com.google.** { *;} 
-dontwarn com.google.** 

-dontwarn sun.misc.Unsafe 
-dontwarn com.google.common.collect.MinMaxPriorityQueue 
-keepattributes *Annotation*,Signature 
-keep class * extends com.google.api.client.json.GenericJson { 
*; 
} 

-keep class * extends java.util.ListResourceBundle { 
    protected Object[][] getContents(); 
} 

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { 
    public static final *** NULL; 
} 

-keepnames @com.google.android.gms.common.annotation.KeepName class * 
-keepclassmembernames class * { 
    @com.google.android.gms.common.annotation.KeepName *; 
} 

-keepnames class * implements android.os.Parcelable { 
    public static final ** CREATOR; 
} 


# Squareup 
-dontwarn com.squareup.okhttp.** 

# Joda-Time 
-dontwarn org.joda.time.** 

# EventBus 
-keepclassmembers class ** { 
    public void onEvent*(**); 
} 

# Annotation 
-keepattributes *Annotation* 

# Retrofit 
-keep class com.google.gson.** { *; } 
-keep class com.google.inject.** { *; } 
-keep class org.apache.http.** { *; } 
-keep class org.apache.james.mime4j.** { *; } 
-keep class javax.inject.** { *; } 
-keep class retrofit.** { *; } 
-keep class com.example.testobfuscation.** { *; } 
-keepattributes Signature 
-keep class sun.misc.Unsafe { *; } 
-dontwarn rx.** 

# Scribe oAuth 
-keep class org.scribe.** { 
    *; 
} 
-keep class javax.xml.bind.DatatypeConverter 
-dontwarn javax.xml.bind.DatatypeConverter 
-dontwarn org.scribe.** 

#Roundview 
-dontwarn com.makeramen.** 

#android.support.v4 
-dontwarn android.support.v4.** 

-keepclasseswithmembers class io.fabric.sdk.android.** { 
    *; 
} 

-keep public class * extends io.fabric.sdk.android.Kit.** 
-keep class * implements io.fabric.sdk.android.KitGroup.** 
3

bunu inşa edin: 'com.android.support:multidex:1.0.1'

derlemek ve uygulama sınıfında bu yöntemi ekleyin:

  protected void attachBaseContext(Context base) { 
       super.attachBaseContext(base); 
       MultiDex.install(this); 
      } 
+0

Bu yalnız işe yaramıyor. – Sakiboy

2

MultiDex doğru kullanıyor ve hala bu hatayı çalıştırıyorsanız, bunun nedeni Proguard vekullanıyor olmanız olabilirhangi sınıfları tutacağını bilmiyor.

MultiDex dosyanızı "Proguard.pro dosyanızla" senkronize ettiğinizden "emin olun.

Örnek: Bunu yaparak

buildTypes { 
    // other stuff... 

    release { 
     minifyEnabled true 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     ext.enableCrashlytics = true 

     // 
     // IMPORTANT PART: 
     // 
     // tell your MultiDex to keep the classes you defined in your Proguard .pro file. 
     multiDexKeepProguard file('proguard-rules.pro') 
    } 
} 

, el ile multidex.keep dosyası belirtmek gerek yok!

Daha fazla bilgi için multiDexKeepProguardhere ve full developer docs Google'dan.

+0

Bu, proguard ve multidex'i birlikte kullanıyorsanız anahtarıdır. – theJosh

+0

Hem “Proguard” hem de “MultiDex” birlikte kullandığınızda kesinlikle cevaptır, keşke daha önce bunu bilmemi isterdim. – Sakiboy

3

Ek bilgiler iki yıl sonra:

İlgili konular