错误:我想将Realm数据库从版本4.2.0更新到4.3.3,但在gradle sync之后,它将失败
目标
将Realm从4.2.0更新为4.3.3
预期结果
Gradle sync将成功
实际结果
gradle sync与stacktrace失败:
Error:Execution failed for task ':QuizApp:processDebugResources'.
Could not get unknown property 'packageForR' for task
':QuizApp:processDebugResources' of type
com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask.
顶级gradle文件
buildscript {
repositories {
jcenter { url 'http://jcenter.bintray.com/' }
maven { url 'https://maven.fabric.io/public' }
maven { url "https://plugins.gradle.org/m2/" }
jcenter()
mavenCentral()
google()
}
dependencies {
// classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'com.android.tools.build:gradle:3.2.0-alpha01'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7'
classpath 'io.fabric.tools:gradle:1.+'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath "com.github.nullstress:DependencyAnalysisPlugin:1.0.3"
classpath 'com.google.gms:google-services:3.1.0'
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
classpath "io.realm:realm-gradle-plugin:4.3.2"
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.2'
}
}
我尝试清理gradle缓存并停止gradle守护程序。然后重试构建。但问题仍然存在
答案 0 :(得分:36)
如果您使用 ButterKnife ,只需删除 ButterKnife gradle插件 ,然后使用 annotationProcessor + implementation 版本代替。见下面的步骤:
apply plugin: 'com.jakewharton.butterknife'
只需在gradle中使用/添加以下依赖项:
dependencies {
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}
答案 1 :(得分:7)
我从gradle插件更新后遇到类似的问题:
classpath 'com.android.tools.build:gradle:3.0.1'
到
classpath 'com.android.tools.build:gradle:3.1.0'
在我的情况下,问题是由butterknife插件引起的,它与不比3.0.1更新的gradle插件兼容
不幸的是我还没有解决这个问题。我不得不将gradle插件降级到3.0.1。
现在我正在寻找更新版本的butterknife插件。
更新