kotlin工程报错
来源:11-3 Flutter Android混合开发实战-集成与调用【Android技术与Flutter融合】

酒剑仙百里东君
2024-04-23
按照课程设置
settings.gradle
添加
include ‘:app’
setBinding(new Binding([gradle: this]))
evaluate(new File( // new
settingsDir.parentFile, // new
’flutter_module/.android/include_flutter.groovy’// new
))
在build.gradle中
dependencies里添加
implementation project(':flutter')
下面2处 不用做修改
defaultConfig {
applicationId "com.example.myapplication"
minSdk 24
targetSdk 33
versionCode 1
versionName “1.0”
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
编译运行之后报错
Executing tasks: [:app:assembleDebug] in project /Users/scott/Desktop/flutter_hybrid/flutter_hybridAndroid
Starting Gradle Daemon…
Gradle Daemon started in 424 ms
FAILURE: Build failed with an exception.
-
Where:
Script ‘/Users/scott/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy’ line: 219 -
What went wrong:
A problem occurred evaluating script.
Failed to apply plugin class ‘FlutterPlugin’.
Build was configured to prefer settings repositories over project repositories but repository ‘maven’ was added by plugin class ‘FlutterPlugin’
- Try:
Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
- Get more help at https://help.gradle.org
BUILD FAILED in 2s
1回答
-
CrazyCodeBoy
2024-04-24
遇到这种错误 "Failed to apply plugin class ‘FlutterPlugin’. Build was configured to prefer settings repositories over project repositories but repository ‘maven’ was added by plugin class ‘FlutterPlugin’" 通常意味着在构建配置中存在一些兼容性问题或者配置错误,特别是关于Gradle的处理。这个错误发生的一个常见原因是Gradle的版本与Flutter插件不兼容或者Gradle配置中的某些新特性与现有插件不匹配。
### 解决步骤
#### 1. 检查Gradle版本
确保你的Gradle版本与Flutter当前支持的版本兼容。Flutter的更新可能会依赖于特定版本的Gradle,因此首先确保你的Gradle版本符合要求。
- **查看和修改Gradle版本**:
打开 `android/gradle/wrapper/gradle-wrapper.properties` 文件,并检查或更新 `distributionUrl` 属性到推荐的Gradle版本。
```properties
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
```
#### 2. 检查Gradle设置
如果项目中使用了Gradle的特定设置,如 `dependencyResolutionManagement`,可能需要调整这些设置以避免兼容性问题。
- **编辑根目录的 settings.gradle 文件**:
如果使用了以下配置,可能会导致上述错误:
```groovy
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
}
```
可以尝试注释掉这部分代码或更改其设置,以检查是否是此配置引起的问题。
#### 3. 清理和重新构建项目
有时候,简单的清理和重新构建项目可以解决构建时遇到的问题:
```bash
flutter clean
```
然后:
```bash
flutter pub get
```
最后尝试再次运行或构建项目。
#### 4. 检查Flutter插件和SDK版本
确保你的Flutter SDK和所有相关的插件都是最新的,或者至少是与项目兼容的版本。
- **升级Flutter SDK**:
打开终端并执行:
```bash
flutter upgrade
```
- **升级项目依赖**:
检查 `pubspec.yaml` 中的依赖是否最新,或者是否存在已知的与Gradle设置不兼容的问题。
#### 5. 检查插件的配置
在一些情况下,插件的内部配置可能会引起问题。查看相关插件的文档,看是否有关于Gradle配置的特殊说明。
### 总结
这个问题通常涉及到Gradle配置或版本兼容性问题,跟随上述步骤应该可以帮助你诊断和解决大多数相关问题。如果问题仍然存在,可能需要在Flutter社区寻求帮助或查看该问题的相关GitHub Issue讨论。00
相似问题