Android 编译报错 Null extracted folder for artifact: xxx activity:1.8.0

报错具体如下

Null extracted folder for artifact:

ResolvedArtifact(componentIdentifier=androidx.activity:activity:1.8.0,

variantName=null,

artifactFile=C:\Users\Administrator.gradle\caches\modules-2\files-2.1\androidx.activity\activity\1.8.0\4266e2118d565daa20212d1726e11f41e1a4d0ca\activity-1.8.0.aar,

extractedFolder=null, dependencyType=ANDROID, isWrappedModule=false,

buildMapping={current_build =xxxxxx(项目地址)},

mavenCoordinatesCache=com.android.build.gradle.internal.ide.dependencies.MavenCoordinatesCacheBuildService$Inject@35910245)

描述与尝试

这种报错大多是依赖、缓存等问题导致的

网上解决方案较多,常见的包括注释掉activity:1.8.0依赖、升级sdk/java版本、clean缓存等等,但我的项目本身没有显式引入activity:1.8.0,且其他方法尝试基本都没有效果。

猜测是某个依赖引用了androidx.activity:activity:1.8.0,因此开始查看依赖树。

解决方案

在项目根目录下

css 复制代码
./gradlew app:dependencies --configuration debugRuntimeClasspath

此处 app为module名称

依赖树中可看到

css 复制代码
+--- androidx.appcompat:appcompat:1.3.1 -> 1.7.1
|    +--- androidx.activity:activity:1.8.0  
//省略部分依赖

appcompat:1.3.1 被升级到了 appcompat:1.7.1,并引入了activity1.8.0,查找app下build.gradle中dependdencis是否引入了 appcompat:1.7.1。

若项目本身就有其他依赖已经引入了appcompact,将依赖内容注释掉或删掉即可;若项目本身没有引入太多第三方依赖,注释后缺失依赖,可尝试将其降低至1.4.2等版本

css 复制代码
dependencies {
implementation 'androidx.appcompat:appcompat:1.7.1'
}
相关推荐
shaoming377614 分钟前
浏览器动作开发:地址栏图标点击事件、弹出页面设计
android·mysql·adb
赏金术士32 分钟前
Kotlin 协程与挂起函数(Coroutines & suspend)入门到实战
android·开发语言·kotlin
泡泡以安3 小时前
Unidbg学习笔记(十三):固定随机干扰项
android·逆向
泡泡以安3 小时前
Unidbg学习笔记(十六):Console Debugger
android·逆向
赏金术士3 小时前
Room + Flow 完整教程(现代 Android 官方方案)
android·kotlin·room·compose
泡泡以安3 小时前
Unidbg学习笔记(八):文件系统层补环境
android·逆向
泡泡以安3 小时前
Unidbg学习笔记(六):补环境的思维框架
android·逆向
通往曙光的路上3 小时前
mysql2
android·adb
木易 士心4 小时前
会见SDK文档
android
Co_Hui4 小时前
Android:多线程
android