我正在开发必须与所有Android设备架构兼容的应用程序。另外,其中一些设备可能具有我想利用的UHF阅读器功能。
对于这些特殊设备,我有一个armeabi
体系结构的共享库。在具有这种架构的设备中,该应用程序可以正常运行(无论它们是否具有UHF读取器)。但是,对于具有其他体系结构的设备,该应用程序甚至没有安装,出现INSTALL_FAILED_NO_MATCHING_ABIS
错误。
我想知道是否有任何方法可以使该库成为可选的,以便其他体系结构的设备仅忽略它。 如果我可以使用
显式加载库(也可以不加载,取决于体系结构)就可以了System.loadLibrary("DeviceAPI");
但是我不知道如何解决安装问题。我想避免生成多个APK。
答案 0 :(得分:0)
好吧,这当然不是最好的方法,但是它似乎有效。我只是为每个缺少的平台创建了一个虚拟共享库,然后将.so文件重命名为与我的armeabi
库文件相同的名称。该应用程序现已安装在每个平台上,我只需要在初始化时捕获适当的异常或检查设备架构即可。