【问题标题】:Android integrating with Zebra Symbol Technologies, Inc.:EMDK 3.0 (API 16):16Android 与 Zebra Symbol Technologies, Inc. 集成:EMDK 3.0 (API 16):16
【发布时间】:2017-11-28 16:35:51
【问题描述】:

我已导入一个项目并尝试构建它。该项目使用 Zebra 库。我可以看到有一个名为EMDK 的模块有一个build.gradle

apply plugin: 'com.android.library'

android {
    compileSdkVersion 'Symbol Technologies, Inc.:EMDK 3.0 (API 16):16'
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 16
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile project(':common')
}

在我的应用程序build.gradle 中,依赖项如下:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'], exclude: ['com.symbol.emdk.jar'])
    compile 'com.android.support:support-v4:21.0.0'

    provided files('./libs/com.symbol.emdk.jar')
    compile('com.crashlytics.sdk.android:crashlytics:2.5.2@aar') {
        transitive = true;
    }

当我尝试构建时,../Library/Android/sdk 出现此错误:

未能找到带有哈希字符串 'Symbol Technologies, Inc.:EMDK 3.0 (API 16):16 的目标

如何解决这个问题?

【问题讨论】:

    标签: android zebra-printers motorola-emdk


    【解决方案1】:

    您的 SDK 插件文件夹中有 Symbol Technologies 插件吗?

    您还混合了两种包含 jar 的方法,您不需要同时指定 CompileSDKVersion 作为符号附加组件,并且还需要在您的 gradle 中提供 jar。就我个人而言,我更喜欢只做后者,这里有一个来自one of my projects的例子:

    def sdkDir = properties.getProperty('sdk.dir')
    compileOnly fileTree(include: ['com.symbol.emdk.jar'], dir: sdkDir+'/add-ons/addon-symbol_emdk-symbol-23/libs/')
    

    我认为将 jar 放在 /libs/ 目录中不是一个好主意,即使您说“提供的文件”,Android Studio 也不会特别处理并编译它...我是不确定,但我建议从附加组件目录中读取它,就像我的项目示例中一样。

    【讨论】:

      猜你喜欢
      • 2017-03-27
      • 2016-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-08
      • 1970-01-01
      • 2018-01-23
      • 2022-12-29
      相关资源
      最近更新 更多