xuexiangjys / XUpdate

🚀A lightweight, high availability Android version update framework.(一个轻量级、高可用性的Android版本更新框架)
https://github.com/xuexiangjys/XUpdate/wiki
Apache License 2.0
2.32k stars 406 forks source link

CANNOT LINK EXECUTABLE DEPENDENCIES: "libsigchain.so" is 32-bit instead of 64-bit #103

Closed linq8261 closed 4 years ago

linq8261 commented 4 years ago

CANNOT LINK EXECUTABLE DEPENDENCIES: "libsigchain.so" is 32-bit instead of 64-bit

弹框后点击升级,下载,完毕后并没有安装成功,断点调试如图,错误如题。

试了几次,发现插入不了图片,算了。

可以看到已经拼出shell命令了:LD_LIBRARY_PATH=/vendor/lib:/system/lib pm install -r /storage/emulated/0/Android/data/com.xxx.xxx/cache/xupdate/v1.1.1(手写的,不要在意细节)

然后 result=1 errorMsg="CANNOT LINK EXECUTABLE DEPENDENCIES: "libsigchain.so" is 32-bit instead of 64-bit" successMsg=""

使用的XUpdate版本(必填) XUpdate版本:implementation 'com.github.xuexiangjys:XUpdate:2.0.2'

如何重现(必填) 重现的步骤:

  1. 检查更新
  2. 发现新版本,弹框
  3. 点击升级
  4. 下载,完毕后没反应,断点调试错误如上。

设备信息 请填写一下你运行设备的信息,信息越全越有助于我理解问题

附加信息 望确认是不是XUpdate的问题,不是的话我就有底气去怼厂家的定制系统。

linq8261 commented 4 years ago

插一句,我apk里面没有这个库,libsigchain.so

linq8261 commented 4 years ago

我用命令行测试过了, LD_LIBRARY_PATH=/vendor/lib:/system/lib pm install -r xxx.apk 这样就会报错。 pm install -r xxx.apk 这样就正常。

xuexiangjys commented 4 years ago

你可以先尝试使用自定义安装监听器OnInstallListener接口看一下能不能解决这个问题。 因为框架提供的只能是一般性的安装解决方案,并不能覆盖所有的情况

xuexiangjys commented 4 years ago

理论上Android5.1.1版本静默安装是肯定可行的,可能定制系统改了什么东西。一般厂家应该会给出对应的安装接口

linq8261 commented 4 years ago

你可以先尝试使用自定义安装监听器OnInstallListener接口看一下能不能解决这个问题。 因为框架提供的只能是一般性的安装解决方案,并不能覆盖所有的情况

已经设置了自定义的OnInstallListener解决了,谢谢