本文主要是介绍如何简单修改Android的so文件 - 限于修改字符串常量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
http://blog.csdn.net/yihongyuelan/article/details/8992283
场景
有的时候需要定制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的so文件 - 限于修改字符串常量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!