构建警告:将新 ns 映射到旧 ns

Build Warning : Mapping new ns to old ns

因此,我正在使用 Flutter 并在 运行 应用程序上,我在调试控制台中收到如下错误:

Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01

我做了flutter clean,但没有效果。

我试过这里的答案:

但是,当我查找 build.gradle 文件时,我有两个文件,一个在 /android另一个在 /android/app。但是这两个都没有任何配置可以改变buildToolsVersion.

我做了 sdkmanager --list_installed 并且我有两个 build-tools 版本:

  build-tools;29.0.2   | 29.0.2  | Android SDK Build-Tools 29.0.2 | build-tools/29.0.2  
  build-tools;30.0.2   | 30.0.2  | Android SDK Build-Tools 30.0.2 | build-tools/30.0.2  

我应该怎么做才能修复此警告?

此外,我没有使用 Android Studio。我使用本指南在没有 Android Studio 的情况下安装 Flutter: How to Install and Configure Flutter Without Android Studio

这不会发生,因为您安装了两个构建工具版本。发生这种情况是因为 android studio 上的缓存,只需使缓存无效并重新启动即可解决此问题。

尝试删除并重新安装 SDK 平台。删除~\Android\Sdk\platforms中的文件夹,下载你需要的SDK。

编辑:以上以某种方式解决了之前的问题,但是当更新了更多外部包时,我 运行 再次陷入同样的​​问题。这一次,删除 SDK 平台没有用。相反,我在项目的两个位置更新了 Gradle:

android/build.gradle

buildscript {
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:7.2.1' // Update this line
        ...
    }
}

注意:Android Gradle 插件的 7.2.1 是目前 Google 中的最新稳定版本Maven 存储库。要检查更新版本,请访问 https://maven.google.com, or the release notes. Under com.android.tools.build > gradle,您将找到 Android.

可用的版本

android/gradle/wrapper/gradle-wrapper.properties

...
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip # Update this line

这次更新这两个地方的插件解决了我的问题。希望这有帮助。

1.Update gradle 投票最高的答案中提到的插件

2.Add android:exported="true" inside activity element in android/app/src/main/AndroidManifest.xml

根据投票最多的答案,这个错误没有为我修复.....

所以用这种方式修复了我的错误

  1. 首先将“android sdk 构建工具”更新为 32

路径:android studio>sdk manager>system setting>android sdk>sdk tool> update "android sdk build-tools"

然后

android/build.gradle 添加了这一行

 dependencies {
        classpath 'com.android.tools.build:gradle:7.0.1'

然后

gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip

之后

终端上的“flutter clean”

重启

我正在使用 flutter 2.8.1 ,之后我们可以在 android/.gradle 中看到新文件,即 7.0.2 文件夹

所以用这种方式修复了我的错误

请更改两个文件:

  1. android/build.gradle 并在 dependencies 下设置如下:

classpath 'com.android.tools.build:gradle:7.2.1'

  1. android/gradle/wrapper/gradle-wrapper.properties 并设置以下内容:这里的 Gradle 版本应该与 build.gradle 文件中提到的版本兼容。

distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip