You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native集成Zebra EMDK报错:找不到com.symbol:emdk:9.1.1

Zebra设备RFID扫描应用依赖解析错误问题

我正在为Zebra设备开发一款基础RFID扫描应用,但遇到了依赖解析错误,试过多种方法都无法解决。

错误信息

* 问题原因:
无法确定任务 ':app:compileDebugJavaWithJavac' 的依赖项。
> 无法解析配置 ':app:debugCompileClasspath' 的所有任务依赖项。
   > 找不到 com.symbol:emdk:9.1.1。
     已在以下位置搜索:
       - https://oss.sonatype.org/content/repositories/snapshots/com/symbol/emdk/9.1.1/emdk-9.1.1.pom
       - https://repo.maven.apache.org/maven2/com/symbol/emdk/9.1.1/emdk-9.1.1.pom
       - https://dl.google.com/dl/android/maven2/com/symbol/emdk/9.1.1/emdk-9.1.1.pom
       - https://www.jitpack.io/com/symbol/emdk/9.1.1/emdk-9.1.1.pom
     被以下项目依赖:
         project :app

当前配置文件

Android/build.gradle

buildscript {
    ext {
        buildToolsVersion = "34.0.0"
        minSdkVersion = 21
        compileSdkVersion = 34
        targetSdkVersion = 34
        ndkVersion = "25.1.8937393"
        kotlinVersion = "1.8.0"
    }
    repositories {
        google()
        mavenCentral()
        jcenter() 
         maven {
          url = "https://zebratech.jfrog.io/artifactory/EMDK-Android/"
      }
    }
    dependencies {
        classpath("com.android.tools.build:gradle")
        classpath("com.facebook.react:react-native-gradle-plugin")
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin")
        classpath 'com.google.gms:google-services:4.3.15'
    }
}

apply plugin: "com.facebook.react.rootproject"

App/build.gradle

dependencies {
    // React Native版本由React Native Gradle插件设置
    implementation("com.facebook.react:react-android")
    implementation("com.facebook.react:flipper-integration")

    implementation("com.android.support:appcompat-v7:25.3.1")
    implementation("com.android.support.constraint:constraint-layout:1.0.2")
        compileOnly 'com.symbol:emdk:9.1.1'
//implementation("com.symbol:emdk:9.1.1")

    if (hermesEnabled.toBoolean()) {
        implementation("com.facebook.react:hermes-android")
    } else {
        implementation jscFlavor
    }
}

解决方法

  1. 调整仓库配置位置
    Gradle构建应用依赖时,会读取项目根级的repositories配置,而非仅buildscript内的配置。需要在Android/build.gradle中添加根级仓库声明:

    buildscript {
        // 保留原有buildscript内容不变
    }
    
    // 新增根级仓库配置
    allprojects {
        repositories {
            google()
            mavenCentral()
            jcenter()
            maven {
                url = "https://zebratech.jfrog.io/artifactory/EMDK-Android/"
            }
        }
    }
    
    apply plugin: "com.facebook.react.rootproject"
    
  2. 修正依赖声明类型
    如果应用运行时需要调用EMDK的API,compileOnly仅在编译时生效,无法满足运行需求,需改为implementation:

    // 移除这行
    // compileOnly 'com.symbol:emdk:9.1.1'
    // 使用implementation声明依赖
    implementation("com.symbol:emdk:9.1.1")
    
  3. 清理缓存并重新构建

    • 在Android Studio中点击「Sync Project with Gradle Files」同步配置
    • 执行命令 ./gradlew clean 清理构建缓存,之后重新编译项目

内容的提问来源于stack exchange,提问作者ijaz bacha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 18:04:57