LoliProfiler使用记录

背景

项目存在严重的Native内存泄露问题,android studio自带的工具目前无法很好的分析Native层的问题。
从网上找了一遍,没有靠谱的的方案(包括使用DDMS的隐藏native分析方法,我在自己开发的android设备上,使用eng版本无法正常操作,设置系统参数后,系统无法正常启动)

无意中发现了腾讯开源了LoliProfiler项目,一款Android内存分析工具。
LoliProfiler github链接
LoliProfiler 国内地址

软件运行图
自己简单看了下,基于QT5开发,cmake编译的,内部用到了XHook等三方库来hook底层

编译

我下载源码,在mac和windows上都尝试编码,奈何能力有限(windows编译总失败)

我说下mac上编译的流程和注意点

下载源代码后,配置环境

1、下载QT5 SDK 我基本把相关选项都选择安装
参考文章
2、NDK配置,我原本就开发Android,有NDK
3、配置Cmake环境;我开始使用Android SDK的cmake,编译异常,改为官方cmake安装就正常了
参考文章

修改源码的build.sh

set -xeuo pipefail

export QT5Path=/Users/fucongping/Qt5.14.1/5.14.1
# for gcc
export Ndk_R16_CMD=/Users/fucongping/Library/Android/sdk/ndk/16.1.4479499/ndk-build
# for llvm
export Ndk_R20_CMD=/Users/fucongping/Library/Android/sdk/ndk/20.0.5594570/ndk-build

# if [ ! -f $QT5Path ];then
#     echo QT5Path not found ERROR: $QT5Path
#     exit -1
# fi
# if [ ! -f $Ndk_R16_CMD ];then
#     echo Ndk_R16_CMD not found ERROR: $Ndk_R16_CMD
#     exit -1
# fi
# if [ ! -f $Ndk_R20_CMD ];then
#     echo Ndk_R20_CMD not found ERROR: $Ndk_R20_CMD
#     exit -1
# fi

echo QT5Path path: $QT5Path
echo Ndk_R16_CMD: $Ndk_R16_CMD
echo Ndk_R20_CMD: $Ndk_R20_CMD

sh scripts/EnterPoint.sh

但是最后还是失败,报错macdeployqt命令参数无效

分析后,是编译脚本存在问题,在scripts/EnterPoint.sh
MacdeployqtPath=find $QT5Path -name "macdeployqt",这个命令会在我的Mac中找到三个路径,导致异常;
我直接修改成对应文件路径

set -xeuo pipefail

export AndroidPluginPath="./plugins/Android"
export ReleasePath="./build/cmake/bin/release/LoliProfiler.app"
#export MacdeployqtPath=`find $QT5Path -name "macdeployqt"`
export MacdeployqtPath=/Users/fucongping/Qt5.14.1/5.14.1/clang_64/bin/macdeployqt
export QT5_Clang=`find $QT5Path -name "clang_64"`
export DeployPath="./dist"
echo deleting dir
rm -rf ./build
rm -rf ./dist

sh scripts/BuildProject.sh
sh scripts/BuildAndroidLibs.sh
sh scripts/CopyConfig.sh
sh scripts/Deployqt.sh

最后在build/cmake/bin/release/下可以获取到应用安装包

使用

我一开始拿到源码有点迷,没有现成的应用直接用吗?
后经同事指点,github上有release版本:
release版本页面
路径:https://github.com/Tencent/loli_profiler/releases/tag/v1.1.2
资源
macos版本

windows版本

使用上,直接看官方的文档就非常好:
使用文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值