努力尽今夕,少年犹可夸。这篇文章主要讲述如何通过 AAR 形式集成 leakcanary-android 服务相关的知识,希望能为你提供帮助。
- 如何通过 AAR 形式集成 leakcanary-android 服务
- 如何通过在线引用的方式拿到所有相关的依赖项文件?
- #1.禁用 Gradle 离线模式
- #2.按照文档要求添加项目依赖
- #3.Sync同步后会在线解析并缓存所有相关依赖项
- #4.从依赖项缓存所在目录里找到 *.pom 文件分析其子依赖项
- #5.将所有依赖项复制出来.
- #6.改造 .aar 依赖项文件
- #7.修改原在线形式的项目依赖为AAR形式的依赖
- #8.启用 Gradle离线模式即可正常使用了.
- 如何改造 Release 依赖项 .aar 文件 将仅在Release模式才使用的JAR类库文件集成到一块?
- 改造前:leakcanary-android-1.5.4.aar > libs 为空
- 改造后:将其所有依赖的JAR包添加到 `leakcanary-android-1.5.4.aar > libs` 目录里.
- 结果验证
- 如何通过在线引用的方式拿到所有相关的依赖项文件?
如何通过在线引用的方式拿到所有相关的依赖项文件?
#1.禁用 Gradle 离线模式 #2.按照文档要求添加项目依赖
In your build.gradle:
dependencies {
debugImplementation \'com.squareup.leakcanary:leakcanary-android:1.5.4\'
releaseImplementation \'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4\'
}
#3.Sync同步后会在线解析并缓存所有相关依赖项 #4.从依赖项缓存所在目录里找到 *.pom 文件分析其子依赖项Windows系统缓存一般所在路径:
.gradle\\caches\\modules-2\\files-2.1\\com.squareup.leakcanary\\leakcanary-android\\1.5.4
.gradle\\caches\\modules-2\\files-2.1\\com.squareup.leakcanary\\leakcanary-android-no-op\\1.5.4
子目录里一般存在以下几种类型的文件: *-sources.jar, .aar或.jar, *.pom【如何通过 AAR 形式集成 leakcanary-android 服务】通过文本工具打开 *.pom 文件,可见是XML格式的文本,寻找到以下节点数据即可获知其子依赖项信息:
project - dependencies - dependency - artifactId#5.将所有依赖项复制出来.将缓存里的所有
*.aar或*.jar
格式的文件依赖项都复制出来.并放入指定的flatDir
目录中(如libs
目录里.)#6.改造 .aar 依赖项文件将仅在Release模式才使用的JAR类库文件集成到一块
#7.修改原在线形式的项目依赖为AAR形式的依赖
debugImplementation(name: \'leakcanary-android-1.5.4\', ext: \'aar\')
releaseImplementation(name: \'leakcanary-android-no-op-1.5.4\', ext: \'aar\')
注意AAR形式的依赖需要在
build.gradle
里增加以下设置:repositories {
flatDir {
dirs \'libs\'
}
}
#8.启用 Gradle离线模式即可正常使用了. 如何改造 Release 依赖项 .aar 文件 将仅在Release模式才使用的JAR类库文件集成到一块?
最终目的为:
- 保证在
debug
运行模式能正常使用leakcanary-android
的功能, - 保证在
Release
发布模式时不额外添加任何多余的代码和资源(只增加no-op类保证编译不报错即可)
leakcanary-android-1.5.4.aar >
libs
目录里.leakcanary-android
依赖项本来就是JAR的有:- leakcanary-watcher-1.5.4.jar
- haha-2.0.3.jar
- leakcanary-analyzer-1.5.4.aar
将其解压后,提取出最终classes.jar
改一下名字leakcanary-analyzer-1.5.4.jar
以便区分.
leakcanary-android-1.5.4.aar >
libs
目录里有以下文件:- leakcanary-watcher-1.5.4.jar
- haha-2.0.3.jar
- leakcanary-analyzer-1.5.4.jar
文章图片
debug 模式类结构图:
文章图片
推荐阅读
- Android环境下通过C框架层控制WIFI
- tomcat JDBC连接池c3p0连接资源耗尽导致tomcat实例对应的app移动端无法访问。
- Android平台的Swift—Kotlin
- 安卓活动的生命周期
- android studio gradle 国内代理
- 细数直播APP开发的那些重要流程
- HBuilder Android真机调试
- 自己动手写游戏(Flappy Bird)
- 插件项目app化说明