我正在编写扫描仪,我想为两个型号使用相同的应用程序
- 第一个使用共享库,仅在第一个模型(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')
}
在我的清单中,我有<uses-permission android:name="com.symbol.emdk.permission.EMDK" />
我尝试了星云插件(https://github.com/nebula-plugins/gradle-extra-configurations-plugin)并在我的build.gradle&#34;可选&#34;中制作了两个Zebra条目。但我还是无法安装apk。
如何使Zebra库可选?
非常感谢您的任何提示!
答案 0 :(得分:1)
正如克里斯蒂安所说,你需要指明<uses-library android:name="com.symbol.emdk" android:required="false"/>
。您还需要检测您的应用运行的设备类型。我有一个类似的应用程序使用EMDK并适用于Zebra和非Zebra设备:https://github.com/darryncampbell/WakeLock_WifiLock_Exerciser。如果它有帮助,请看一下。
答案 1 :(得分:0)
通过在清单中设置<uses-library android:name="com.symbol.emdk" android:required="false"/>
代替<uses-permission android:name="com.symbol.emdk.permission.EMDK" />
并使用星云轻松修复。