发现问题:
在更新了Android studio 3.2之后,编译一个旧的项目时出现以下报错:
Could not get unknown property 'packageForR' for task ':app:processProduct1DebugResources' of type com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask.
编译时时的参数如下:
buildToolsVersion “28.0.2”
targetSdkVersion=26
gradle-4.6
Google之后在stackoverflow 上找到了答案:
问题出现在ButterKnife插件上
由于项目中使用了butterknife
在module/build.gradle的 对butterknife的配置如下:
apply plugin: 'com.android.application'
apply plugin: 'com.jakewharton.butterknife'
...
dependencies {
...
implementation 'com.jakewharton:butterknife:8.5.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
}
解决问题:
只需删除ButterKnife gradle插件,然后使用annotationProcessor +实现版本。见下面的步骤:
1.apply plugin: 'com.jakewharton.butterknife’在gradle中删除
2.只需在gradle中使用/添加以下依赖项:
dependencies {
implementation 'com.jakewharton:butterknife:8.5.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
}
重新编译即可。