2016-08-28 24 views
2

Nachdem in zwei meiner App-Klassen die folgende Zeile: @ org.parceler.Parcel, erhalte ich diese Gradle bauen Fehler:Android Studio Gradle Fehler nach der Verwendung von @ org.parceler.Parcel

warning: Ignoring InnerClasses attribute for an anonymous inner class (org.parceler.apache.commons.collections.BeanMap$1) that doesn't come with an associated EnclosingMethod attribute. This class was probably produced by a compiler that did not target the modern .class file format. The recommended solution is to recompile the class from source, using an up-to-date compiler and without specifying any "-target" type options. The consequence of ignoring this warning is that reflective operations on this class will incorrectly indicate that it is not an inner class.

Trotzdem kompiliert und läuft die App erfolgreich. Dieser Fehler ärgert mich jedoch, weil ich nicht weiß, ob es App-Abstürze verursacht.

My build.graddle (app):

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 24 
    buildToolsVersion "24.0.1" 

    defaultConfig { 
     applicationId "com.my.app" 
     minSdkVersion 9 
     targetSdkVersion 24 
     versionCode 26 
     versionName "2.0.18" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    signingConfigs { 
     release { 
      storeFile file("omitted") 
      storePassword "omitted" 
      keyAlias "omitted" 
      keyPassword "omitted" 

     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 

    compile 'com.android.support:appcompat-v7:24.2.0' 
    compile 'com.android.support:design:24.2.0' 
    compile 'com.android.support:support-v4:24.2.0' 
    compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:2.0.1' 
    compile 'com.android.support:preference-v7:24.2.0' 
    // [START gms_compile] 
    compile 'com.google.android.gms:play-services-analytics:9.4.0' 
    // [END gms_compile] 
    compile 'com.squareup.picasso:picasso:2.5.2' 
    compile 'org.parceler:parceler:1.0.3' 
    compile 'org.parceler:parceler-api:1.0.3' 
    compile 'com.google.code.gson:gson:2.4' 
    compile 'com.android.support:cardview-v7:24.2.0' 
    compile 'com.android.support:recyclerview-v7:24.2.0' 

} 

apply plugin: 'com.google.gms.google-services' 

Antwort

0

Entfernen Sie diese Zeile

compile 'org.parceler:parceler-api:1.0.3' 
+0

Danke, ich entfernt, aber ich bin immer genau die gleiche Fehlermeldung. – Daniel

+0

Ok, können Sie wieder auf alte API-Ebene 23, abd einmal überprüfen Fehler-ID noch kommen oder nicht –

+0

Ich habe gerade angefangen, rückgängig zu machen, aber es wurde sehr unordentlich, da ich viele Aufrufe an neue API in meinem Quellcode haben. – Daniel

0

nach dieser Ausgabe: https://github.com/johncarl81/parceler/issues/19

die Antwort lautet:

you're running into the dex method limit. Unrelated to this library.

Es scheint dir zu gefallen Sie sollten in Ihrer App aktivieren, um diese Warnung auszublenden.

Dies kann hilfreich sein: How to enable multidexing with the new Android Multidex support library

+0

Ich habe multidex durch Hinzufügen von "multiDexEnabled true" zu build.gradle aktiviert, jedoch erscheint der Gradle Error immer noch. Denkst du, dass ein solcher Build-Fehler dazu führen würde, dass meine App für die Endbenutzer abstürzt? Meine Tests sind soweit in Ordnung. – Daniel

+0

Sind Sie sicher, dass Sie Multidexing korrekt aktiviert haben? Haben Sie "MultiDex.install (getTargetContext());" in der Klasse vergessen, in der Sie Parceler initialisieren? Wenn ich Sie wäre, würde ich ein neues Problem auf Parceler Website öffnen und die Antworten überprüfen. Nein, ich denke nicht, dass es auf User-Handys krachen würde. – piotrek1543

+0

Ähnliche Ausgabe: http://StackOverflow.com/Questions/36592864/error-in-Gradle-Build-after-Updating-android-Studio-with-Log4j - die Antwort ist, dass diese Art von Problem ist sicher und gut zu ignorieren . Sie können versuchen, Ihre Support-Bibliotheken zu aktualisieren, um dieses Problem zu verbergen – piotrek1543