android错误:Cannot add task 'wrapper' as a task with that name already exists.

当我把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错误:Cannot add task 'wrapper' as a task with that name already exists._第1张图片

在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
   }

如下图所示:

android错误:Cannot add task 'wrapper' as a task with that name already exists._第2张图片

错误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保持一致)

android错误:Cannot add task 'wrapper' as a task with that name already exists._第3张图片

 至此已经解决了所有的问题,可以试试能不能运行成功啦。

ps:附带错误6:Unable to find method 'org.gradle.api.tasks.compile.CompileOptions.setBootClasspath

解决办法:将gradle的版本升高一下。

附带我自己的版本设置:

android错误:Cannot add task 'wrapper' as a task with that name already exists._第4张图片

 

你可能感兴趣的:(android,ionic3,ionic3,android)