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

Android build warning Mapping new ns to old ns

我在 android 工作室中创建了一个新项目并添加了所有依赖项。所有这些都是最新的。当我构建项目时,我收到了这些警告。应用程序中没有代码。这些在我添加依赖项后开始显示。

我应该就这样离开吗?

Sync output

plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-kapt'
    id 'dagger.hilt.android.plugin'
}

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
    buildFeatures {
        viewBinding = true
    }
}

dependencies {

    def version_nav = "2.3.4"
    def lifecycle_version = "2.3.0"
    def version_retrofit_coroutines_adapter = "0.9.2"
    def version_kotlin_coroutines = "1.3.9"
    def version_moshi = "1.9.2"
    def retrofit ="2.9.0"
    def hilt_version = "2.31-alpha"
    def hilt_viewmodels = "1.0.0-alpha03"
    def fragment_ktx = "1.3.1"
    def okhttp = "4.9.0"
    def moshi_converter = "2.8.1"
    def recycler_view_version = "1.2.0-beta02"
    def timber_version = "4.7.1"
    def java_poet_version = "1.13.0"
    def coil_version = "1.1.1"


    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.core:core-ktx:1.3.2'
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.3.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'

    // Timber
    implementation "com.jakewharton.timber:timber:$timber_version"

    implementation "com.squareup.retrofit2:retrofit:$retrofit"
    implementation "com.squareup.retrofit2:converter-gson:$retrofit"

    // Moshi
    implementation "com.squareup.moshi:moshi:$version_moshi"
    implementation "com.squareup.moshi:moshi-kotlin:$version_moshi"
    implementation "com.squareup.retrofit2:converter-moshi:$moshi_converter"

    // Navigation
    implementation "androidx.navigation:navigation-fragment-ktx:$version_nav"
    implementation "androidx.navigation:navigation-ui-ktx:$version_nav"

    // Coroutines
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$version_kotlin_coroutines"
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$version_kotlin_coroutines"

    // Retrofit Coroutines Support
    implementation "com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:$version_retrofit_coroutines_adapter"

    //RecyclerView
    implementation "androidx.recyclerview:recyclerview:$recycler_view_version"

    // ViewModel
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
    // LiveData
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
    // Lifecycle only (without ViewModel or LiveData)
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"

    //OkHttp3
    implementation"com.squareup.okhttp3:okhttp:$okhttp"

    //Hilt
    implementation "com.google.dagger:hilt-android:$hilt_version"
    kapt "com.google.dagger:hilt-android-compiler:$hilt_version"

    //Hilt View models
    implementation "androidx.hilt:hilt-lifecycle-viewmodel:$hilt_viewmodels"
    kapt "androidx.hilt:hilt-compiler:$hilt_viewmodels"

    //Fragments
    implementation "androidx.fragment:fragment-ktx:$fragment_ktx"

    //Java Poet
    kapt "com.squareup:javapoet:$java_poet_version"

    //Coil
    implementation "io.coil-kt:coil:$coil_version"

}

kapt {
    correctErrorTypes true
}

该应用 运行 没有任何问题,但由于这是我第一次看到的警告。我在其他地方找不到任何相关内容,想知道为什么会这样。

我有同样的问题,结果是未安装使用的 buildToolsVersion "30.0.3",所以我切换到已安装的 buildToolsVersion "29.0.3"(在我的情况下),警告消失了。

就我而言,使缓存失效并重新启动修复了它

我安装了 Android Studio Arctic Fox (2020.3.1) 然后我开始在 vscode!

上遇到同样的错误

Mapping new ns to old ns blah blah

FIX 对我来说是卸载那个版本的 android studio,安装 4.2.2here AND download SDK files then update it back to Arctic Fox (from in UI) 问题消失了。我猜这是一个 SDK 错误....

我正在使用 Android Studio Arctic Fox(2020.3.1,补丁),它指向 buildToolsVersion "30.0.2" 并得到相同的错误。 我通过将 Android Gradle 插件版本从 4.1.0 更新为 7.0.2.

来修复它

我通过更改平台设置中的“Java SDK”解决了这个问题。在项目结构中找到它。

这是由于旧的 gradle 插件版本造成的。

我确实将 SDK 版本更改为 31,但我的 gradle 插件是 4.2。所以我也遇到了同样的问题。

要解决此问题,只需转到项目级别 build.gradle 并将 gradle 插件版本更新为最新版本,如下所示:

buildscript {

// ...

dependencies {
    classpath 'com.android.tools.build:gradle:7.0.2'
}

}

在撰写此答案时,Gradle 7.0.2 是最新版本。

我在 build.gradle(:app)android 中尝试了这个,它使一切正常:

  compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }

对于Windows

到了

%LOCALAPPDATA%\Android\Sdk\build-tools

现在只留一个文件夹,除了29.0.3我都删了

重新启动系统并重试,错误应该会消失

我在开发 Android 应用程序(flutter)时找到了一个非常简单的解决方案。

第 1 步 - 只需进入 Android SDK 管理器。(通过搜索图标附近的右上角图标) 第 2 步 - 取消选中更高级别 API。 (在我的例子中,我没有选中 29 以上的 API 级别。如果你想知道你的最大 API selection ,你可以检查这个文件夹名称路径 - C:\Users\AarifHusain\AppData\Local\Android\Sdk\build-tools.0.2 最后一个文件夹名称 29.0.2 意味着我必须 select SDK 平台高达 29 并取消选中高于 29)

第 3 步 - 现在应用更改并让 Android studio 使用网络进行工作。此过程花费的时间取决于解压缩需要时间后的互联网速度。 在此过程之后,如果 IDE 显示完成但出现错误。不用担心重启后会恢复正常。

这对我有帮助:

  1. “构建 -> 清理项目”
  2. “文件 -> 使缓存无效/重新启动”选择“无效并重新启动选项”并关闭 Android Studio
  1. 在 Android Studio 中,您还可以通过转到文件 > 项目结构来更新 Gradle 插件版本(和 Gradle 版本)。

  2. 只需转到项目级别 build.gradle 并将 gradle 插件版本更新为最新版本,如下所示:dependencies {classpath 'com.android.tools.build:gradle:7.0.2'}.

  3. 更新gradle-wrapper.propertiesdistributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip.

我在 VSCode 构建我的 Flutter 应用程序后将 Flutter 升级到 [=24] 时收到类似的错误消息=]版本 3.0。以下为我修复了它。

  1. 更新 Android Studio 中的所有 Android SDK 包
  2. 在您的“..\your_app\android\app\build.gradle”文件中将 compileSdkVersion 更改为 31。如果您还想将 targetSdkVersion 更改为 31,则必须添加 android:exported="true"android:exported="false"activity 下的“AndroidManifest.xml”文件中。您必须选择什么以及有关“android:exported”的更多详细信息请看这里 android:exported details
  3. 在您的“..\your_app\android\build.gradle”文件中,将“ext.kotlin_version”更改为 '1.6.10' 和 gradle 版本的“类路径”至 'com.android.tools.build:gradle:7.1.2'
  4. 在您的“..\your_app\android\gradle\wrapper\gradle-wrapper.properties”文件中,将“distributionURL”更改为 https\://services.gradle.org/distributions/gradle-7.4-all.zip
  5. 执行 flutter clean 删除旧的构建内容。

完成后,构建运行时没有任何错误或警告。

编辑:最初的 post 适用于 Flutter 2.10 版。我更新了 Flutter 版本号 3.0