2014-11-22 33 views
5

當我realm.io庫添加到我的Android應用程序,並嘗試運行應用程序,我在編譯時出現此錯誤:不能編譯Android應用程序與境界

錯誤:執行失敗的任務「:compileDebugJava 」。 > java.lang.ClassCastException:com.sun.tools.javac.code.Symbol $ ClassSymbol不能轉換到javax.lang.model.element.PackageElement

這是我的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 
     } 
    } 

當我刪除領域的依賴和代碼,應用程序編譯罰款。我正在運行Android Studio 0.8.14

回答

3

問題原來是我的領域模型是嵌套類,而不是頂級類。改變這一點解決了這個問題

+1

嗨。我使用Realm與頂級類,但編譯過程中仍然出現此錯誤。你知道關於這個問題的其他情況嗎? – jgnt32 2014-12-21 12:01:06

+0

對我來說是真的。我將嵌套模型類移出,並且運行良好。 – 2015-01-17 09:48:10

2

您的模型中沒有適當的getter和setter字段。