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

Posted

技术标签:

【中文标题】Android构建警告将新ns映射到旧ns【英文标题】:Android build warning Mapping new ns to old ns 【发布时间】:2021-06-17 17:37:07 【问题描述】:

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

我应该就这样放着吗?

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

根本不要使用这个 buildToolsVersion。如果你仍然遇到问题。请使缓存无效并重新启动。 @NizamudeenSherif 不工作,invalidate caches and restart【参考方案2】:

我正在使用 Android Studio Arctic Fox (2020.3.1,Patch),它指向 buildToolsVersion "30.0.2" 并得到了同样的错误。 我通过将 Android Gradle 插件版本从 4.1.0 更新到 7.0.2 来修复它。

【讨论】:

在 Android Studio 中,您还可以通过转到文件 > 项目结构来更新 Gradle 插件版本(和 Gradle 版本)。 打开升级助手:***.com/a/70971871/3139120 工作就像一个魅力【参考方案3】:

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

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

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

buildscript 

// ...

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

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

【讨论】:

【参考方案4】:

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

    更新 Android Studio 中的所有 Android SDK 包 在您的“..\your_app\android\app\build.gradle”文件中,将 compileSdkVersion 更改为 31。如果您还想将 targetSdkVersion 更改为 31,则必须在您的“ activity 下的 AndroidManifest.xml" 文件。您必须选择的内容以及有关“android:exported”的更多详细信息请看这里android:exported details 在“..\your_app\android\build.gradle”文件中,将“ext.kotlin_version”更改为'1.6.10',将gradle 版本的“classpath”更改为'com.android.tools.build:gradle:7.0.2' 在“..\your_app\android\gradle\wrapper\gradle-wrapper.properties”文件中,将“distributionURL”更改为https\://services.gradle.org/distributions/gradle-7.0.2-all.zip 发送flutter clean 删除旧的构建内容。

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

【讨论】:

【参考方案5】:

这对我有帮助:

    “构建 -> 清理项目” “File -> Invalidate Caches / Restart”选择“Invalidate and restart option”并关闭Android Studio

【讨论】:

如果我在颤振中工作?【参考方案6】:

    在 Android Studio 中,您还可以通过转到文件 > 项目结构来更新 Gradle 插件版本(和 Gradle 版本)。

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

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

【讨论】:

【参考方案7】:

我安装了 Android Studio Arctic Fox (2020.3.1) 并开始在 vscode 上遇到同样的错误!

将新 ns 映射到旧 ns blah blah

FIX 对我来说是卸载那个版本的 android studio,从 here 安装 4.2.2 并下载 SDK 文件,然后将其更新回北极狐 @ 987654322@ 并且问题消失了。我猜它是一个 SDK 错误?....

【讨论】:

同样的问题。 这个答案对我有帮助。就我而言,我删除了 Android 12 Preview (S) SDK - 并安装了 Android 10.0 (Q) - 这个问题得到了解决)问题出在 SDK...【参考方案8】:

在我的情况下,使缓存无效并重新启动修复它

【讨论】:

【参考方案9】:

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

【讨论】:

【参考方案10】:

我在androidbuild.gradle(:app) 中尝试了这个,一切正常:

  compileOptions 
        sourceCompatibility 1.8
        targetCompatibility 1.8
    

【讨论】:

【参考方案11】:

适用于 Windows

%LOCALAPPDATA%\Android\Sdk\build-tools

现在只留下一个文件夹,我把除了29.0.3以外的都删了

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

【讨论】:

【参考方案12】:

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

第 1 步 - 进入 Android SDK 管理器。(通过搜索图标附近的右上角图标) 第 2 步 - 取消选中更高级别的 API。 (在我的情况下,我未选中 29 以上的 API 级别。如果您想知道您的最大 API 选择,您可以使用此文件夹名称路径进行检查 - C:\Users\AarifHusain\AppData\Local\Android\Sdk\build-tools\29.0.2 最后一个文件夹名称 29.0.2 意味着我必须选择 SDK 平台高达 29 并取消选中高于 29)

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

【讨论】:

以上是关于Android构建警告将新ns映射到旧ns的主要内容,如果未能解决你的问题,请参考以下文章

将新 ns 映射到旧 ns

警告:将新 ns 映射到旧 ns 和模拟器突然停止

当我运行颤振应用程序显示警告:映射新的 ns http://schemas.android.co

Android 将特定构建警告视为错误,因此当 Crashlytics 映射文件上传失败时构建失败

当我尝试在颤振项目中运行时,但收到以下警告

我如何修复关于 vscode 中颤动的“警告:映射新 ns”