Flutter兼容性问题:Could not get unknown property ‘flutter‘ for extension ‘android‘

项目背景

部们有两个项目,一个原生项目,一个Flutter项目,现在要把Flutter项目融入进来,于是技术选型是采用原生+Flutter混编方式,因为Flutter项目用了第三方插件gal,于是引入进来以后报错了:

Build file 'C:\Users\ws\AppData\Local\Pub\Cache\hosted\pub.dev\gal-2.3.2\android\build.gradle' line: 18

A problem occurred evaluating project ':gal'.
> Could not get unknown property 'flutter' for extension 'android' of type com.android.build.gradle.LibraryExtension.

* Try:
> 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.gradle文件(不是.android/build.gradle文件)加入如下代码:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:8.12.0'
    }
}

plugins {
    id 'com.android.application' version '8.10.0' apply false
    id 'com.android.library' version '8.10.0' apply false
    id 'org.jetbrains.kotlin.android' version '2.1.0' apply false
    id "org.jetbrains.kotlin.kapt" version "2.1.0" apply false
    id "com.google.gms.google-services" version '4.3.15' apply false
    id "com.google.firebase.crashlytics" version '2.9.5' apply false
    id "com.google.firebase.firebase-perf" version "1.4.2" apply false
    id "io.github.JailedBird.ARouterPlugin" version('1.0.2') apply false
    id "com.huawei.agconnect" version('1.9.1.301') apply false
    //    id "com.alibaba" version('1.0.2') apply false
//    id "com.sensorsdata.analytics.android" version '3.5.2' apply false
}

// 解决gal插件报错:
// A problem occurred evaluating project ':gal'.
//> Could not get unknown property 'flutter' for extension 'android' of type com.android.build.gradle.LibraryExtension.
ext.flutter = [
        compileSdkVersion: 35,
        minSdkVersion    : 24,
        targetSdkVersion : 35,
        ndkVersion       : "27.0.12077973"
]

apply from: 'config.gradle'

subprojects {
	...
}

感谢大家的支持,如有错误请指正,如需转载请标明原文出处!

在项目评估时遇到无法获取 `com.android.build.gradle.LibraryExtension` 类型的 `android` 扩展的未知属性 `flutter` 的问题,通常是由于项目配置或者依赖不兼容导致的,以下是可能的解决方案: ### 检查 Flutter 集成配置 如果项目是一个 FlutterAndroid 混合开发的项目,要确保 Flutter 相关的配置正确。在 `build.gradle` 文件中,确保正确应用了 Flutter 插件。示例如下: ```groovy // 在项目根目录的 build.gradle 中 buildscript { repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:版本号' // 确保添加了 Flutter 插件 classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:版本号' classpath 'com.google.gms:google-services:版本号' } } // 在 app 模块的 build.gradle 中 apply plugin: 'com.android.library' apply plugin: 'kotlin-android' // 确保应用 Flutter 插件 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { // 其他 Android 配置 } flutter { source '../flutter_module' // 指向 Flutter 模块的路径 } ``` ### 检查 Flutter 版本兼容性 要保证 Flutter 版本与 Android Gradle 插件版本兼容。可以尝试更新 Flutter 到最新稳定版本,使用以下命令: ```bash flutter upgrade ``` ### 清理并重新构建项目 有时候,构建缓存可能会导致配置问题。可以尝试清理项目并重新构建: ```bash ./gradlew clean ./gradlew assembleDebug ``` ### 检查依赖冲突 检查项目中的依赖是否存在冲突。可以使用以下命令查看依赖树: ```bash ./gradlew :gal:dependencies ``` 根据输出结果,排除冲突的依赖。 ### 检查 Android Gradle 插件版本 确保使用的 Android Gradle 插件版本与项目的 Android 版本兼容。可以在项目根目录的 `build.gradle` 文件中更新插件版本: ```groovy buildscript { repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 替换为合适的版本 } } ``` ### 检查 Android Studio 缓存 有时候,Android Studio 的缓存也会导致问题。可以尝试清除 Android Studio 缓存: 1. 关闭 Android Studio。 2. 找到 Android Studio 的缓存目录(通常在 `~/.AndroidStudio版本号/system/caches`)。 3. 删除 `caches` 目录下的所有文件。 4. 重新打开 Android Studio 并重新构建项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值