如何简单修改Android的so文件
16lz
2021-01-23
场景
有的时候需要定制Android默认蓝牙设备名称,当然在我们有源码的情况下自然是很好处理,但如果没有源码呢?这时候就需要修改so文件了。
蓝牙默认设备名称的修改在:
frameworks\base\core\jni\Android_bluetooth_common.h
主要就是修改BTMTK_ANDROID_DEFAULT_LOCAL_NAME的值
#define BTMTK_ANDROID_DEFAULT_LOCAL_NAME "ANDROID BT"
查看相关mk文件可以知道,该文件最终编译到了libandroid_runtime.so中,所以我们直接找到编译好的libandroid_runtime.so
工具
WinHex
该工具是一款非常不错的 16 进制编辑器,得到 ZDNetSoftwareLibrary 五星级最高评价,拥有强大的系统效用。
(PS:按F3查找下一个)
方法
将libandroid_runtime.so载入到WinHex中,然后全文搜索ANDROID BT,理论上只会有一处,当然也不能排除有多处,最终定位到代码如下:
00684736 | 73 31 35 00 48 49 4B 65 20 37 31 36 00 5B 47 41 | s15 ANDROID BT
在WinHex中我们可以搜到仅有一处定义,因此直接修改为自己想定义的名称,完成之后点击保存,重新push到设备中,重启设备即可生效
更多相关文章
- Android ble 蓝牙4.0 总结一
- android设备调用usb外置摄像头方法及案例
- 【记录】Android监听蓝牙耳机的按键事件
- 定制Android设备的关机对话框
- Android 设备兼容
- 基于AOA协议实现Android设备的USB通信
- 解决AndroidStudio中AVD虚拟机设备空间不足,调试过程出现的黑屏问
- 【如何在不同Android设备中得到有效的AudioRecord实例】
- 在android中使用PrinterShare实现蓝牙打印功能