关于AndroidStudio引用外部库时的问题(gradle构建机理)
2015-07-17 15:12
423 查看
今天看到一个检测内存泄漏的工具LeakCanary(关于LeakCanary的用法有中文介绍), 于是想写个demo试试.
结果, 遇到了一个问题LeakCanary类找不到. 我下载了一个Demo, 我的配置文件和这个Demo一模一样!!
我无论我怎么同步build.gradle文件, 都没有效果.
我的module下的build.gradle配置文件的片段如下:
点击右上角的"Sync Now"之后, 发现"External Libraries"列表中有了两个与leakcanary相关的引用, 这两个引用分别是
这两个外部library中都没有LeakCanary类, 于是在jcenter上找了一下.
发现上面两个是jar包, 有一leakcanary-android-1.3.1, 但是aar包.
我又点击了下载下来的demo中的LeakCanary类, 跳转到一样一个地方:
原来引用的外部aar包, 都会解压到<project-path>/build/intermediates/exploded-aar目录下面!!
我在网上下的demo为什么可以应用aar包里面的class, 我我自己创建的不可以呢??
我猜可能是aar包没有解压(aar包其实就是zip包)
经过一番摸索, module上右键->"Make Module 'Module-Name' ", 终于可以引用LeakCanary类了!!! (aar包已经解压到build下...)
有点啰嗦, 主要是备忘一下
总结一下这番折腾:
1. module下面的build.gradle中的 compile 'library', 可能引用的是jar包, 也可能引用的是aar包
2. 如果不能生成R文件(也经常遇到这个问题, 特别是冲其他项目中copy res目录是, R文件就不能生成)
或者 不能引用外部包中的类, 重新make你的module (在你的module上右键->Make Module 'Module-Name')
3. 查看外部库是否引用成功, 可以在两个地方看: "External Libraries" (引用成功后, jar和aar包都显示在这里面, 你引用的library所依赖的库也会在这里显示) 和
"<project_dir>/build/intermediates/exploded-aar" (针对aar包)
切到Project模式:
如有错误, 欢迎指正
结果, 遇到了一个问题LeakCanary类找不到. 我下载了一个Demo, 我的配置文件和这个Demo一模一样!!
我无论我怎么同步build.gradle文件, 都没有效果.
我的module下的build.gradle配置文件的片段如下:
点击右上角的"Sync Now"之后, 发现"External Libraries"列表中有了两个与leakcanary相关的引用, 这两个引用分别是
leakcanary-analyzer-1.3.1 和 leakcanary-wacther-1.3.1
这两个外部library中都没有LeakCanary类, 于是在jcenter上找了一下.
发现上面两个是jar包, 有一leakcanary-android-1.3.1, 但是aar包.
我又点击了下载下来的demo中的LeakCanary类, 跳转到一样一个地方:
原来引用的外部aar包, 都会解压到<project-path>/build/intermediates/exploded-aar目录下面!!
我在网上下的demo为什么可以应用aar包里面的class, 我我自己创建的不可以呢??
我猜可能是aar包没有解压(aar包其实就是zip包)
经过一番摸索, module上右键->"Make Module 'Module-Name' ", 终于可以引用LeakCanary类了!!! (aar包已经解压到build下...)
有点啰嗦, 主要是备忘一下
总结一下这番折腾:
1. module下面的build.gradle中的 compile 'library', 可能引用的是jar包, 也可能引用的是aar包
2. 如果不能生成R文件(也经常遇到这个问题, 特别是冲其他项目中copy res目录是, R文件就不能生成)
或者 不能引用外部包中的类, 重新make你的module (在你的module上右键->Make Module 'Module-Name')
3. 查看外部库是否引用成功, 可以在两个地方看: "External Libraries" (引用成功后, jar和aar包都显示在这里面, 你引用的library所依赖的库也会在这里显示) 和
"<project_dir>/build/intermediates/exploded-aar" (针对aar包)
切到Project模式:
如有错误, 欢迎指正
相关文章推荐
- Android 性能分析工具dumpsys的使用
- Android给定坐标计算距离
- android之事件
- Android调用系统摄像头拍照并剪裁压缩
- MiniTwitter记住密码等功能实现
- Android 自定义 ViewPager 打造千变万化的图片切换效果
- 图解Android View的scrollTo(),scrollBy(),getScrollX(), getScrollY()
- android资源收藏
- Android反射打造万能SharedPreferences
- Android直接拿来用!最火的Android开源项目(完结篇)
- Android fragment 获取id,findViewById为空
- Android直接拿来用!最火的Android开源项目(二)
- 学习Android百分百布局库
- 开源中国 OsChina Android 客户端源码分析(6)拍照、图库、裁剪
- Android 实现个性的ViewPager切换动画 实战PageTransformer(兼容Android3.0以下)
- Android直接拿来用!最火的Android开源项目(一)
- 【Android Studio探索之路系列】之三:Android Studio界面元素
- <Android> Service详解 学习(一)
- android VelocityTracker简单用法
- 调用有道辞典查词