/**
* 判断so文件是否为64位
* @param soFile so文件
* @return so文件为64位返回true,反之返回false
*/
public boolean isSo64BitAbi(File soFile) {
RandomAccessFile randomAccessFile = null;
try {
randomAccessFile = new RandomAccessFile(soFile, "r");
randomAccessFile.seek(4);
int label = randomAccessFile.read();
Log.d(TAG, "getSoAbi label=" + label);
// so文件的第5个字节用于标识Abi位数,为1代表32位,为2代表64位
return label == 2;
} catch (Exception x) {
Log.e(TAG, "isSo64BitAbi error=" + x);
} finally {
try {
randomAccessFile.close();
} catch (Exception x) {
}
}
return false;
}
Android代码中判断so文件是否为64位
最新推荐文章于 2025-05-12 10:37:29 发布
该代码段提供了一个方法,通过读取SO文件的特定字节来判断其是否为64位。它定位到文件的第四个字节,如果读取的值为2,则表示文件是64位,否则为32位。
1732

被折叠的 条评论
为什么被折叠?



