我正在对扫描仪进行编程,并且想对两个模型使用相同的应用程序。
-第一个使用共享库,该库仅在第一个模型(Zebra设备)上可用。
-第二个应仅使用相机,而不应使用Zebra设备

尝试在非Zebra设备上安装apk时为 INSTALL_FAILED_MISSING_SHARED_LIBRARY

我的build.gradle:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    // Play Services for Barcode API
    compile 'com.google.android.gms:play-services-vision:9.4.0+'

    // Misc
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

    // Zebra EMDK
    provided fileTree(include: ['com.symbol.emdk.jar'], dir: 'C:\\Users\\user\\AppData\\Local\\Android\\sdk\\add-ons\\addon-symbol_emdk-symbol-19\\libs')
    compile fileTree(exclude: ['com.symbol.emdk.jar'], dir: 'libs')
}

我的 list 中有<uses-permission android:name="com.symbol.emdk.permission.EMDK" />
我尝试了星云插件(https://github.com/nebula-plugins/gradle-extra-configurations-plugin),并在build.gradle中将两个Zebra条目设置为“可选”,但仍然无法安装apk。
如何使Zebra库成为可选库?
非常感谢您提供任何提示!

最佳答案

正如克里斯蒂安所说,您需要指定<uses-library android:name="com.symbol.emdk" android:required="false"/>。您还需要检测您的应用程序在哪种设备上运行。我有一个使用EMDK的类似应用程序,可在Zebra和非Zebra设备上使用:https://github.com/darryncampbell/WakeLock_WifiLock_Exerciser。请查看是否有帮助。

关于android - Makin共享库 optional ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48687708/

10-10 17:56