我在我的应用程序中包含Epson ePOSPrint和StarIO库,以支持通过USB连接到Epson和Star POS打印机的打印。打印在两台打印机上都能很好地工作。
Epson库包含一个共享库lib/armeabi/libeposprint.so
。考虑到文件夹armeabi
的名称,我假设此库仅适用于具有ARM体系结构的设备,实际上在使用Android 5.0的基于Intel Atom的(虚拟)设备上安装应用程序失败
Installation error: INSTALL_FAILED_NO_MATCHING_ABIS
在运行Android版本低于5.0的基于Intel Atom的设备上,安装不会失败,但我不知道在尝试打印时会发生什么。
无论如何,由于该应用程序还支持Star打印机,Star库不依赖于本机共享库,我希望允许在基于Intel Atom的设备上安装应用程序,以便至少可以使用Star打印机。 / p>
是否有可能以某种方式使共享库可选,因此安装不会失败?这是一个好主意,因为这会使应用程序部分损坏吗?
答案 0 :(得分:1)
是否有可能以某种方式使共享库可选,因此安装不会失败?
我知道这样做的唯一方法是通过CPU架构拥有单独的APK,例如具有split
机制的Android Studio / Gradle for Android优惠。
这是一个好主意,因为这会使应用程序部分损坏吗?
这取决于什么"部分破坏"装置
如果您的意思是"功能减少",因为您使用Build
来检测您所处理的CPU并且如果您不在支持您的库的设备上正常降级,那么&#34} #39;合理。
如果你的意思是"应用程序已经完成了打击"那就不太好了。 : - )