PS:今天上午,非常郁悶,有很多簡略基礎的問題搞得我有些迷茫,哎,代碼幾天不寫就忘。目前又不當COO,還是得用心記代碼哦!
場景
有的時候須要定制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到設備中,重啟設備即可失效
文章結束給大家分享下程序員的一些笑話語錄: Borland說我很有前途,Sun笑了;Sun說我很有錢,IBM笑了;IBM說我很專業,Sybase笑了;Sybase說我數據庫很牛,Oracle笑了;Oracle說我是開放的,Linux笑了;Linux說我要打敗Unix,微軟笑了;微軟說我的系統很穩定,我們都笑了。
--------------------------------- 原創文章 By
文件和修改
---------------------------------