我正在对扫描仪进行编程,并且想对两个模型使用相同的应用程序。
-第一个使用共享库,该库仅在第一个模型(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/