Android Studio Flutter项目无法解析UsbSerial 6.1.0依赖求助
问题描述
在Android Studio(LadyBug版本)的Flutter项目中,添加了依赖implementation 'com.github.felHR85:UsbSerial:6.1.0',并在Gradle中配置了JitPack仓库,但构建时出现:app:checkDebugAarMetadata任务失败的错误,提示无法解析该依赖,在JitPack指定路径未找到对应文件。已尝试更换JDK版本、更换Android Studio,均未解决问题。
完整错误信息:
执行任务 ':app:checkDebugAarMetadata' 失败。 > 无法解析配置 ':app:debugRuntimeClasspath' 的所有文件。 > 无法转换 UsbSerial-6.1.0.aar (com.github.felHR85:UsbSerial:6.1.0) 以匹配属性 {artifactType=android-aar-metadata, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime}。 > 未找到 UsbSerial-6.1.0.aar (com.github.felHR85:UsbSerial:6.1.0)。 已在以下位置搜索: https://jitpack.io/com/github/felHR85/UsbSerial/6.1.0/UsbSerial-6.1.0.aar https://jitpack.io/com/github/felHR85/UsbSerial/6.1.0/UsbSerial-6.1.0.jar
项目根目录build.gradle配置:
buildscript { ext.kotlin_version = '1.9.0' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.3.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { google() mavenCentral() maven { url "https://jitpack.io" } } } subprojects { afterEvaluate { project -> if (project.plugins.hasPlugin("com.android.application") || project.plugins.hasPlugin("com.android.library")) { project.android { compileSdkVersion 34 buildToolsVersion "34.0.0" } } } } rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { project.evaluationDependsOn(':app') } tasks.register("clean", Delete) { delete rootProject.buildDir }
app/build.gradle配置:
plugins { id "com.android.application" id "kotlin-android" id "dev.flutter.flutter-gradle-plugin" } def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { localPropertiesFile.withReader('UTF-8') { reader -> localProperties.load(reader) } } def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' } def flutterVersionName = localProperties.getProperty('flutter.versionName') if (flutterVersionName == null) { flutterVersionName = '1.0' } def flutterTargetSdkVersion = localProperties.getProperty('flutter.targetSdkVersion') if (flutterTargetSdkVersion == null) { flutterTargetSdkVersion = '30' // 如果需要,请设置默认值 } android { namespace "name" compileSdkVersion 34 ndkVersion flutter.ndkVersion compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } sourceSets { main.java.srcDirs += 'src/main/kotlin' } defaultConfig { applicationId "name" minSdkVersion 21 targetSdkVersion flutterTargetSdkVersion.toInteger() versionCode flutterVersionCode.toInteger() versionName flutterVersionName } buildTypes { release { signingConfig signingConfigs.debug } } } flutter { source '../..' } dependencies { implementation 'com.yandex.android:maps.mobile:4.6.1-full' implementation 'com.github.felHR85:UsbSerial:6.1.0' constraints { implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") { because("kotlin-stdlib-jdk7 现已并入 kotlin-stdlib") } implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0") { because("kotlin-stdlib-jdk8 现已并入 kotlin-stdlib") } } }
解决方案
- 确认JitPack版本构建状态:检查
com.github.felHR85:UsbSerial:6.1.0在JitPack上是否成功构建。部分版本可能因项目代码问题导致JitPack无法生成可用的AAR/JAR包,若该版本构建失败,更换为其他稳定版本(如6.0.0)尝试。 - 调整仓库配置位置:将JitPack仓库配置移至项目的
settings.gradle文件中(新版本Gradle推荐在此配置仓库),替换原allprojects中的仓库配置,示例:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url "https://jitpack.io" } } } - 清理并刷新依赖:在项目根目录执行命令:
清理本地缓存并强制重新拉取所有依赖。./gradlew clean build --refresh-dependencies - 检查Gradle版本兼容性:当前使用的Android Gradle插件版本为7.3.0,对应Gradle版本需在7.4及以上。若本地Gradle版本过低,可在
gradle/wrapper/gradle-wrapper.properties中更新distributionUrl至对应版本(如https\://services.gradle.org/distributions/gradle-7.5-all.zip)。 - 替换依赖源:若JitPack版本始终无法获取,可尝试使用该库的Maven Central镜像(若存在),将依赖替换为
implementation 'com.felhr:usbserial:6.1.0'并移除JitPack仓库配置(需自行确认该版本是否在Maven Central上可用)。
内容的提问来源于stack exchange,提问作者Vlad Islav
相关产品推荐
相关产品推荐

