Shaw0xyz 发表于 2024-6-12 12:31:00

Flutter运行到Android报错You are applying Flutter‘s app_plugin_loader Gradle...

本帖最后由 Shaw0xyz 于 2024-6-12 12:47 编辑

1. 简介

在Flutter开发中,有时会遇到一些错误,这些错误可能会阻碍应用程序的正常运行。本文将探讨在Flutter运行到Android时遇到的一个常见错误:“You are applying Flutter’s app_plugin_loader Gradle plugin imperatively using…”,并提供解决方案。

1.1 错误背景

在运行Flutter项目时,Gradle可能会报告上述错误,这通常是由于不正确地配置了Gradle插件或版本引起的。理解并解决这个问题有助于确保Flutter应用在Android设备上顺利运行。

2. 错误原因

这个错误通常是由于以下原因引起的:

(1) 在`build.gradle`文件中,手动应用了`app_plugin_loader`插件。
(2) Gradle插件版本与Flutter版本不兼容。
(3) 项目配置文件中的依赖冲突或配置不正确。

3. 解决方案

3.1 检查`build.gradle`文件

首先,确保没有在`build.gradle`文件中手动应用`app_plugin_loader`插件。打开`android/app/build.gradle`文件,检查是否存在类似以下的代码:

apply plugin: 'app_plugin_loader'

如果存在上述代码,删除它。

3.2 更新Gradle插件版本

确保使用与Flutter兼容的Gradle插件版本。打开`android/build.gradle`文件,找到`classpath`配置,并更新为最新版本:

buildscript {
    ext.kotlin_version = '1.5.31'
    repositories {
      google()
      mavenCentral()
    }
    dependencies {
      classpath 'com.android.tools.build:gradle:7.0.3'
      classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

3.3 同步项目并重建

在进行上述修改后,同步项目并重建。可以在Android Studio中执行以下操作:

(1) 点击“File”菜单,然后选择“Sync Project with Gradle Files”。
(2) 运行`flutter clean`命令以清除项目缓存。
(3) 重新构建项目,运行`flutter build apk`或`flutter run`命令。

4. 示例演示

以下是一个示例项目的`build.gradle`文件配置,确保项目配置正确并与Flutter兼容。

android/build.gradle:

buildscript {
    ext.kotlin_version = '1.5.31'
    repositories {
      google()
      mavenCentral()
    }
    dependencies {
      classpath 'com.android.tools.build:gradle:7.0.3'
      classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
      google()
      mavenCentral()
    }
}

android/app/build.gradle:

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
      localProperties.load(reader)
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    compileSdkVersion 31

    sourceSets {
      main.java.srcDirs += 'src/main/kotlin'
    }

    defaultConfig {
      applicationId "com.example.myapp"
      minSdkVersion 21
      targetSdkVersion 31
      versionCode flutterVersionCode.toInteger()
      versionName flutterVersionName
    }

    buildTypes {
      release {
            signingConfig signingConfigs.debug
      }
    }
}

5. 结论

通过本文的介绍,读者可以了解如何解决Flutter运行到Android时出现的“You are applying Flutter’s app_plugin_loader Gradle plugin imperatively using...”错误。解决方案包括检查并更新`build.gradle`文件、确保Gradle插件版本兼容以及同步和重建项目。掌握这些技巧可以帮助开发者顺利运行Flutter应用,并提高开发效率。如果在操作过程中遇到其他问题,可以参考Flutter官方文档和社区资源获取更多帮助。



/ 荔枝学姐de课后专栏 /

Hi!这里是荔枝学姐~

欢迎来到我的课后专栏

自然语言学渣 NLP摆烂姐

热衷于技术写作 IT边角料

AIGC & Coding & Linux ...

~互撩~ TG: @Shaw_0xyz
页: [1]
查看完整版本: Flutter运行到Android报错You are applying Flutter‘s app_plugin_loader Gradle...