debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'
当 Sync Now 完成后,我们可以在C盘(windows)找见这个项目文件夹。
该项目文件夹截图如下:
LeakCanary项目示例图
这个文件夹下面就有我们需要的两个依赖库: leakcanary-android 和 leakcanary-android-no-op
点开 leakcanary-android文件夹 ,目录结构如下( 1.3是对应的版本号 ):
leakcanary-android文件夹
打开最里层的文件夹,你会发现文件的类型主要有三种:
jar文件 :有的项目是以jar文件形式提供
aar文件 :有的项目是以aar文件形式提供
pom文件 : (Project Object Model),实际上就是个xml,是对一些必要信息的说明。这里我们只关心一个节点信息: :声明依赖列表
我们用文本编辑器打开 leakcanary-android文件夹 下面的pom文件:
...
com.squareup.leakcanary
leakcanary-analyzer
1.3
compile
...
想更多了解pom文件, 点击这里
当我们打开 leakcanary-android 的pom文件,
我们发现 leakcanary-android 依赖于 leakcanary-analyzer 的1.3版本。
同样的的我们打开 leakcanary-analyzer 的pom文件,
发现 leakcanary-analyzer 依赖 leakcanary-watcher 和 haha 。
leakcanary-watcher 和 haha 则没有依赖任何东西。
这样整个leakcanary-android导入本地的东西就是四个:
leakcanary-android
leakcanary-analyzer
leakcanary-watcher
haha
同样的方式去一层一层解析 leakcanary-android-no-op ,将所有需要的文件都导入到AndroidStudio中。这样整个 LeakCanary 就被我们真正实现本地化了。
两种结果对比如下:
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'
debugCompile(name: 'leakcanary-android-1.3', ext: 'aar')
compile files('libs/leakcanary-analyzer-1.3.jar')