Android与Zebra Symbol Technologies,Inc。集成::EMDK 3.0(API 16):16

时间:2017-11-28 16:35:51

标签: android zebra-printers motorola-emdk

我导入了一个项目并尝试构建它。该项目使用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

如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您的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也不会专门处理它并编译它...我我不确定,但我建议只是从我的项目示例中的附加组件目录中读取它。