Android项目Gradle依赖缺失致导入报错及同步StackOverflowError求助
问题
我的Android项目包含多个Activity,但Gradle中未添加任何依赖。代码里导入了androidx.appcompat.app.AppCompatActivity等类,这些导入出现报错。
导入代码如下:
import androidx.appcompat.app.AppCompatActivity; import android.annotation.SuppressLint; import android.content.Intent; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import java.util.Random;
项目根目录build.gradle代码:
plugins { id 'com.android.application' version '7.2.0' apply false id 'com.android.library' version '7.2.0' apply false } task clean(type: Delete) { delete rootProject.buildDir }
同步项目时出现错误:
java.lang.StackOverflowError at com.android.build.gradle.internal.ide.dependencies.ArtifactUtils.toKey(ArtifactUtils.kt:496) at com.android.build.gradle.internal.ide.dependencies.FullDependencyGraphBuilder.handleDependency(FullDependencyGraphBuilder.kt:130) at com.android.build.gradle.internal.ide.dependencies.FullDependencyGraphBuilder.handleDependency(FullDependencyGraphBuilder.kt:163)
请问需要添加哪些Gradle依赖来解决这些问题?
解决方案
1. 添加AppCompat依赖解决导入报错
你用到的AppCompatActivity属于AndroidX AppCompat库,需要在模块级(通常是app/build.gradle)的dependencies块中添加以下依赖:
dependencies { // 核心AppCompat依赖,解决AppCompatActivity的导入问题 implementation 'androidx.appcompat:appcompat:1.6.1' // 可选:如果项目用到Material Design组件(如MaterialButton等),可添加此依赖 // implementation 'com.google.android.material:material:1.9.0' }
注意:代码中导入的Intent、TextView、Toast等类属于Android SDK核心类,不需要额外添加依赖,只需确保模块级build.gradle中配置了正确的compileSdk和targetSdk版本即可。
2. 解决StackOverflowError同步错误
这个栈溢出错误是Gradle依赖解析时的问题,结合你当前使用的7.2.0版本插件,建议通过以下方式修复:
- 升级Gradle插件版本:将根目录
build.gradle中的插件版本升级到稳定的较新版本,比如7.4.2:
plugins { id 'com.android.application' version '7.4.2' apply false id 'com.android.library' version '7.4.2' apply false }
- 同步Gradle Wrapper版本:确保
gradle/wrapper/gradle-wrapper.properties中的distributionUrl与插件版本匹配,比如7.4.2插件对应Gradle 7.5版本:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
完成修改后,点击Sync Now重新同步项目即可。
内容的提问来源于stack exchange,提问作者I don't think so
相关产品推荐
相关产品推荐

