如何为所有模块的 build.gradle Flutter 添加命名空间?

how to add namespace to all module's build.gradle Flutter?

提问人:Hammam Oktajianto 提问时间:8/20/2023 更新时间:10/11/2023 访问量:688

问:

将我的 gradle 更新到 8.0 后,如果我在 android build.gradle 中设置了命名空间,则在构建 apk 事件时出现错误命名空间

这是我的构建 gradle 代码

build.gradle:android/app

android {
    compileSdkVersion localProperties.getProperty('flutter.compileSdkVersion').toInteger()//33
    namespace 'com.appidname.here'
    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    defaultConfig {
        applicationId "com.appidname.here"
        minSdkVersion localProperties.getProperty('flutter.minSdkVersion').toInteger()//21
        targetSdkVersion localProperties.getProperty('flutter.targetSdkVersion').toInteger()//33
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }
     ....
}

build.gradle:安卓

buildscript {
    ext.kotlin_version = '1.8.22'
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:8.0.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
....

这是我在 buil apk 或 appbuble 时遇到的错误。

错误

* What went wrong:
A problem occurred configuring project ':webview_pro_android'.
> Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl.
   > Namespace not specified. Please specify a namespace in the module's build.gradle file like so:

     android {
         namespace 'com.example.namespace'
     }

从错误中我认为命名空间尚未在所有插件模块中设置。 如何解决这个问题,如何为所有插件模块添加命名空间? 谢谢

Android Flutter Gradle 命名空间

评论


答:

0赞 romina bakhshaee 8/20/2023 #1

您可以将文件更改为如下所示。build.gradle

android {
    namespace 'your_package_name'
    compileSdk 34

    defaultConfig {
        applicationId "your_package_name"
        minSdk 24
        targetSdk 34
        versionCode 1
        versionName "1.0"
    }
}

评论

0赞 Hammam Oktajianto 8/20/2023
我已将其添加到那里。你可以看看我上面的代码。这仍然得到错误命名空间。
0赞 Chirag Thummar 8/24/2023
需要适当的解释
0赞 Raj008 11/18/2023
这很好,但是,在所有包/模块中都期望 Flutter 中的命名空间。如何解决这个问题?
0赞 Hammam Oktajianto 11/19/2023
我删除了android sdk 34并安装了sdk 33。因为我的 Android Studio 是 Giraffe。我将build.gradle:android依赖项更改为com.android.tools.build:gradle:7.4.2我认为如果你想使用android sdk 34,你必须使用新的android studio版本(高于长颈鹿版本)