使用
进行实时构建compile 'io.realm:realm-android:0.87.4'
(compile 'com.jakewharton:butterknife:6.1.0')
我的任务执行失败':app:compileReleaseJavaWithJavac'。
Caused by: java.lang.ClassCastException: com.sun.tools.javac.code.Symbol$VarSymbol cannot be cast to javax.lang.model.element.TypeElement
at io.realm.processor.RealmProcessor.process(RealmProcessor.java:131)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:793)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:722)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1700(JavacProcessingEnvironment.java:97)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1029)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1163)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1108)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:824)
可能是什么问题?依赖冲突?我们正在使用:
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/services/javax.annotation.processing.Processor'
}
我们应该在这里添加更多内容吗?
====编辑1 ====
控制台也提供此输出(此处下面的所有内容,也是可能的解决方案):
Error:java.lang.RuntimeException: java.lang.ClassCastException: com.sun.tools.javac.code.Symbol$VarSymbol cannot be cast to javax.lang.model.element.TypeElement
此意外错误的可能原因包括:
====编辑2 ====
问题依然存在......
答案 0 :(得分:1)
一个下午疯狂的反复试验,我找到了它。有人添加了一个错误导入的@Nullable注释。
import javax.annotation.Nullable;
而且,只有在发布(导出)APK时,才会导致问题。
只需删除Nullable注释或将导入更改为:
import android.support.annotation.Nullable;
修复了问题。
我通过安装Java 8找到了它。比IDE给出了一个特定的错误,而不是上面问题中发布的一般堆栈跟踪。
答案 1 :(得分:0)
您的butterknife
& realm
库版本依赖项。
compile 'io.realm:realm-android:0.81.1'
compile 'com.jakewharton:butterknife:7.0.1'
有关详情,请参阅以下链接issue github
注意: - 如果未解决,请检查您使用的注释的导入。
答案 2 :(得分:0)
尝试使用我们的AAR发行版而不是JAR来查看它是否修复了它。你可以在这里看到:https://realm.io/news/android-installation-change/
最新版本为0.87.4