Flutter踩坑记-第三方SDK不兼容Gradle 8.0,需适配namespace

最近需要集成Flutter作为Module,Flutter依赖了第三方库,Gradle是8.0版本。

编译报错:


解决办法是在.android根目录下的build.gradle下新增一行代码:

groovy 复制代码
buildscript {
    ext.kotlin_version = "1.8.22"
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath("com.android.tools.build:gradle:8.1.0")
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version")
    }
}

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

subprojects {
    afterEvaluate { project ->
        if (project.hasProperty('android')) {
            project.android {
                if (namespace == null) {
                    namespace project.group
                }
            }
        }
    }
}

apply plugin: "com.android.library"
apply plugin: "kotlin-android"

android {
    // Conditional for compatibility with AGP <4.2.
    if (project.android.hasProperty("namespace")) {
        namespace = "com.virbo.virbo_flutter"
    }
    compileSdk = 35
    defaultConfig {
        minSdk = 21
        targetSdk = 35
    }
}

dependencies {
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version")
}

核心代码是:

groovy 复制代码
subprojects {
    afterEvaluate { project ->
        if (project.hasProperty('android')) {
            project.android {
                if (namespace == null) {
                    namespace project.group
                }
            }
        }
    }
}

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

相关推荐
ALLIN12 小时前
Flutter 三种方式实现页面切换后保持原页面状态
flutter
Dabei12 小时前
Flutter 国际化
flutter
Dabei12 小时前
Flutter MQTT 通信文档
flutter
Dabei15 小时前
Flutter 中实现 TCP 通信
flutter
孤鸿玉15 小时前
ios flutter_echarts 不在当前屏幕 白屏修复
flutter
前端 贾公子17 小时前
《Vuejs设计与实现》第 16 章(解析器) 上
vue.js·flutter·ios
tangweiguo030519871 天前
Flutter 数据存储的四种核心方式 · 从 SharedPreferences 到 SQLite:Flutter 数据持久化终极整理
flutter
0wioiw01 天前
Flutter基础(②④事件回调与交互处理)
flutter
肥肥呀呀呀1 天前
flutter配置Android gradle kts 8.0 的打包名称
android·flutter
吴Wu涛涛涛涛涛Tao1 天前
Flutter 实现「可拖拽评论面板 + 回复输入框 + @高亮」的完整方案
android·flutter·ios