系统应用集成 LeakCanary

本文详细阐述了在不使用gradle的系统应用中集成LeakCanary的步骤,包括源码下载、Android.mk修改、添加编译支持、更新AndroidManifest.xml以及初始化和错误处理。
摘要由CSDN通过智能技术生成

本文介绍如何在系统应用中集成LeakCanary。由于很多系统应用不使用gradle,且通过Android.mk来进行编译,因此无法使用类似gradle的方式添加依赖来完成对LeakCanary的集成和使用。

1. 源码下载

LeakCanary的源码链接 https://github.com/square/leakcanary,通过 git clone 或者 zip 的方式将源码下载到本地,源码目录如下:
LeakCanary源码目录树
leakcanary-analyzerleakcanary-androidleakcanary-watcher 复制到系统应用源码根目录下。

2. 添加编译支持(修改Android.mk

将上述3个java代码目录添加到编译树中:

LOCAL_SRC_FILES += $(call all-java-files-under, leakcanary-analyzer/) \
                   $(call all-java-files-under, leakcanary-android/) \
                   $(call all-java-files-under, leakcanary-watcher/)

将 leakcanary-android 目录下的 res 目录添加到资源文件编译:

LOCAL_RESOURCE_DIR += $(LOCAL_PATH)/leakcanary-android/src/main/res

添加 hahatrove 的 jar 包到系统应用源码 libs 文件夹中,haha-2.0.3.jar 和 trove-3.0.2.jar 的下载链接:

https://pan.baidu.com/s/1dto2NcgvxEdiA3lGXVKX0A 提取码: qjqy

将这两个 jar 包加入编译:

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += \
				haha:libs/haha-2.0.3.jar \
				trove:libs/trove-3.0.2.jar

LOCAL_STATIC_JAVA_LIBRARIES += \
               haha \
               trove

3. 修改 AndroidManifest.xml

需要将 leakcanary-android 中声明的 Activity,Service,Provider 等组件以及权限申请加入到 AndroidManifest.xml 清单文件中:

<!-- LeakCanary -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
&l
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值