主要是gcc編譯時候選擇是靜態庫還是動態庫。如下
gcc -c test.c
ar -r test.a test.o 生成靜態庫
gcc -fPIC -shared test.c -o 生成動態庫
自己生成的動態庫為了能夠讓ld找到,必須要修改連接路徑或者把動態庫放到指定的目錄裏面。這樣so文件就修改好了。
在修改之前,請確定你要修改的版本是沒有加固,沒有保護的,不然請去除保護後再進行修改,否則遊戲會發生閃退。
1、工具(16進制編輯器)
Android移動設備:
Hex Editor Pro
MT管理器
.....
基於Windows的計算機:
Winhex
010Editor
SO文件是Linux下共享庫文件,它的文件格式被稱為ELF文件格式。由於Android操作系統的底層基於Linux系統,所以SO文件可以運行在Android平台上。