当我把android升级到3.4.1,gradle的版本用的是5.1.1,运行以前的项目出现了错误:Cannot add task 'wrapper' as a task with that name already exists.当我解决完这个错误之后又出现了一系列其他的错误,以下是所有我出现的错误以及解决办法:
错误1:Cannot add task 'wrapper' as a task with that name already exists.
解决办法:
在android中的build.gradle文件中
//task wrapper(type: Wrapper) {
// gradleVersion = '3.5'
//}
//将上面的代码改为下面这种
wrapper{
gradleVersion = '3.5'
}
至此,这个错误解决完毕,之后又出现了错误2。
错误2:Could not find method leftShift() for arguments [build_3jr3he9io4sr73ht4fgjdzc4j$_run_closure6@2dcf96e9] on task ':cdvPrintProps' of type org.gradle.api.DefaultTask.
解决办法:
去掉:android中的build.gradle中task cdvPrintProps后面的<<,如下图所示
错误3:Could not find method jackOptions() for arguments
解决办法:
去掉android中的build.gradle中的
jackOptions {
enabled true
}
如下图所示:
错误4: Could not resolve project :CordovaLib.
解决办法:
修改android中的build.gradle中的dependencies
//compile fileTree(include: '*.jar', dir: 'libs')
//修改compile为implementation
implementation fileTree(include: '*.jar', dir: 'libs')
//debugCompile(project(path: "CordovaLib", configuration: "debug"))
//releaseCompile(project(path: "CordovaLib", configuration: "release"))
//将这两句修改为如下代码
implementation(project(path: ":CordovaLib"))
错误5:uses-sdk:minSdkVersion 1 cannot be smaller than version 8 declared in librar
或者错误:The minSdk version should not be declared in the android manifest file
解决办法:
去掉AndroidManifest.xml中的android:minSdkVersion="16",如下图
将其加到android中的build.gradle文件中的android中defaultConfig中,如下图(需要保持版本号和CordovaLib中AndroidManifest.xml中的minSdkVersion保持一致)
至此已经解决了所有的问题,可以试试能不能运行成功啦。
ps:附带错误6:Unable to find method 'org.gradle.api.tasks.compile.CompileOptions.setBootClasspath
解决办法:将gradle的版本升高一下。
附带我自己的版本设置: