自定義Xlog包名
1 目標:由於miniSDK內部集成了Xlog,同進程內只能寫一個xlog文件,無法滿足客戶端日誌與miniSDK日誌單獨寫日誌文件的需求。因此,爲了解決同進程加載xlog的問題,決定修改Xlog的包名爲com.tencent.taes.remote.impl.log。
2 準備工作
CMake3.6以上 https://github.com/Kitware/CMake/releases
Python 2.7 https://www.python.org/downloads/#pubkeys
Ndk r16b以上 https://dl.google.com/android/repository/android-ndk-r16b-windows-x86_64.zip?hl=zh_cn
Code https://github.com/Tencent/mars#mars_cn
官方接入指引:https://github.com/Tencent/mars/wiki/Mars-Android-%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97
3. 開始修改代碼
(1)需要修改的源碼,改類名+函數名
(2)修改複雜數據類型
(3)修改編譯腳本
修改mars\mars\CMakeLists.txt
修改mars\mars\build_android.py
4. 開始編譯,執行 python build_android.py
選擇第三項 Clean && build xlog
編譯完成後,在build_android.py上會生成library文件夾
生成so所在的文件夾是:
mars-master\mars\libraries\mars_xlog_sdk\libs\armeabi
5.接入到工程中
(1)在工程目錄下建立libs,將libtaesxlog.so和libc++_shared.so複製到libs
(2)修改項目build.gradle配置,將so加入到項目中
(3)從mars\mars\libraries\mars_xlog_sdk\src\main\java\com\tencent
\mars\xlog中賦值Log.java和Log.java文件到對應的工程目錄下,設置包名爲com.tencent.taes.remote.impl.log,然後在工程中就可以正常使用Log和Xlog了。
(4)加載so並初始化xlog
(5)寫日誌
Log.setLogImp(TAG, "Xlog rename process have been finished! ");
大功告成!