现在有一堆现成的32位so文件,没有源码,据说过两年只允许64位运行,这下怎么办啊,有什么办法升级成64位
不。无法将已编译的32位二进制文件转换为64位。你必须原始源代码重新编译到一个64位的二进制
如何执行此操作取决于程序及其构建系统-甚至可能无法以64位工作,具体取决于编写方式。
可以尝试将.so二进制文件反编译
下面是工具
https://download.csdn.net/download/bill20100829/85463439
根据相关规则修改为64位后重新打包成so
您需要对 ARM 处理器架构、汇编语言、JNI 约定和编译器 ABI 有透彻的了解才能理解反汇编。如果您没有经验,请为许多漫长的夜晚做好准备。
转换不了,要么找三方的64位so文件直接替换,要么删除匹配64位文件夹 get,让系统只能运行32位so文件。
只能找64位的库或者自己重新编译
不是过两年,是现在小米,vo好像都不能单独传32位了
我记得两年以前GP就要求必须提供64位支持了
你这种想法,我当时也有过,甚至还尝试过直接改so文件标志位,但根本行不通,只能找原作者看看能不能编译一个64位版本,或者换个别的库。
对了,你说说你用的什么库,说不定我有哦。
这个只能用源码重新编译64位 so文件。而且应用市场上架的app要求必须兼容64位。