我正在尝试在Android Studio中编译AndroidCaldavSyncAdapter项目。它之前甚至有效,但在从/voitures/?make=bmw
升级到/voitures/make/bmw
后,gradle插件版本停止工作。现在我收到了这个错误:
com.android.tools.build:gradle:1.5.0
和
中的com.android.tools.build:gradle:2.3.0
Error:(34, 0) A problem occurred evaluating project ':ACalDAV'.
以下是cannot resolve symbol 'builder'
文件:
import com.android.builder.core.DefaultManifestParser
我尝试过无效的缓存,但这并没有改变任何东西。
答案 0 :(得分:5)
这种情况发生了,因为DefaultManifestParser
的签名已经改变:现在它期望manifestFile
作为参数。
在Android Gradle Plugin version 1.5.0中,没有为DefaultManifestParser
明确提供构造函数,这意味着有一个空构造函数。这导致表达式def manifestParser = new DefaultManifestParser()
正常执行。
在Android Gradle Plugin version 2.2.0中,构造函数的签名已更改为以下内容:
public DefaultManifestParser(@NonNull File manifestFile)
这意味着,应该执行build.gradle
文件中的以下更改:
def manifestParser = new DefaultManifestParser(android.sourceSets.main.manifest.srcFile)
versionName = manifestParser.getVersionName()