2014-11-22 5 views
5

Wenn ich die realm.io Bibliothek meiner Android App hinzufügen und versuchen, die App zu laufen, bekomme ich diesen Fehler während der Kompilierung:kann nicht Android App mit Reich kompilieren

Fehler: Ausführung für die Task fehlgeschlagen ‚: compileDebugJava ". java.lang.ClassCastException>: com.sun.tools.javac.code.Symbol $ ClassSymbol kann nicht auf javax.lang.model.element.PackageElement gegossen werden

Das ist mein build.gradle:

buildscript { 
repositories { 
    mavenCentral() 
    maven { url 'http://download.crashlytics.com/maven' } 
} 
dependencies { 
    classpath 'com.android.tools.build:gradle:0.13.2' 
    classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+' 
    classpath 'com.jakewharton.hugo:hugo-plugin:1.1.0' 
} 
} 

apply plugin: 'android' 
apply plugin: 'crashlytics' 
apply plugin: 'com.android.application' 
apply plugin: 'hugo' 

repositories { 
mavenCentral() 
jcenter() 
maven { url 'http://download.crashlytics.com/maven' } 
} 

android { 
compileSdkVersion 19 
buildToolsVersion '19.1' 

defaultConfig { 
    minSdkVersion 14 
    targetSdkVersion 19 
} 

buildTypes { 
    release { 
     runProguard false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
    } 
} 

packagingOptions { 
    exclude 'META-INF/LICENSE.txt' 
    exclude 'META-INF/NOTICE.txt' 
    exclude 'META-INF/DEPENDENCIES' 
    exclude 'META-INF/LICENSE' 
    exclude 'META-INF/NOTICE' 
} 

dexOptions { 
     jumboMode = true 
} 

/*sourceSets { 
    main { 
     manifest.srcFile 'src/main/AndroidManifest.xml' 
     java.srcDirs = ['src/main/java', 'src-gen/main/java'] 
     resources.srcDirs = ['src'] 
     aidl.srcDirs = ['src'] 
     renderscript.srcDirs = ['src'] 
     res.srcDirs = ['res'] 
     assets.srcDirs = ['assets'] 
    } 
}*/ 
} 

dependencies 
    { 
     compile project(':libraries:AndroidBootstrap') 
     compile 'com.android.support:appcompat-v7:19.+' 
     compile 'com.crashlytics.android:crashlytics:1.+' 
     compile files('libs/naga-3_0.jar') 
     compile files('libs/branch-1.1.1.jar') 
     compile 'com.google.code.gson:gson:2.2.4' 
     compile 'com.viewpagerindicator:library:[email protected]' 
     compile 'com.google.android.gms:play-services:5.0.89' 
     compile 'de.greenrobot:eventbus:2.2.1' 
     compile 'com.github.kevinsawicki:http-request:5.6' 
     compile 'com.maxmind.geoip2:geoip2:0.9.0' 
     compile 'com.squareup.retrofit:retrofit:1.4.1' 
     compile 'com.squareup.picasso:picasso:2.3.4' 
     compile 'de.hdodenhof:circleimageview:1.2.0' 
     compile 'com.helpshift:android-aar:3.6.0' 
     compile 'io.realm:realm-android:0.73.1' 
     compile project(':facebook') 
     repositories { maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } } 
     compile('com.segment.analytics.android:core:[email protected]') 
     { 
      transitive = true 
     } 
    } 

Wenn ich die Bereichsabhängigkeit und den Code entferne, wird die App korrekt kompiliert. Ich betreibe Android Studio 0.8.14

Antwort

3

Das Problem stellte sich heraus, dass meine Realm-Modelle verschachtelte Klassen statt Top-Level-Klassen waren. Das Ändern dieses Problems wurde behoben.

+1

Hallo. Ich benutze Realm mit Top-Level-Klassen, aber ich bekomme diesen Fehler immer noch während der Kompilierung. Kennst du etwas anderes über dieses Problem? – jgnt32

+0

Wahr für mich. Ich habe die verschachtelte Modellklasse verschoben und es hat gut funktioniert. –

2

Sie haben nicht die richtigen Getter und Setter für die Felder in Ihrem Modell.