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】:我在android
的 build.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 http://schemas.android.co