AndroidStudio中依赖同一个jar解决方法

版权声明:本文为博主原创文章,但部分内容来源网络,如有侵权,告知即删! https://blog.csdn.net/chenyuan_jhon/article/details/63683104

工作中可能会遇到这样的情况,例如,你的APP和某一个Module之间重复依赖了某个jar,或者是Module之间重复依赖了某个jar,这个是时候我们该怎么解决呢?
方法一:通过在build.gradle配置共同依赖某个jar
1.在自己的APP的build.gradle中引入
compile files(‘libs/.jar’)
2.在Module的build.gradle中引入
provided files('libs/
.jar’),同时确保这个Module中不在有compile files('libs/
.jar’)
方法二:通过设置共同依赖某个jar
1.鼠标定位到你的项目
2.点击菜单栏中的View,找到Open Module Setting
3.在Project Structure中找到Modules,选中你要修改的Module
4.单击Dependencies ,将Scope修改为provide ,点击OK即可。
方法三:另外一种写法而已
在你需要改变的module中添加如下引用
provided fileTree(include: [’
.jar’], dir: ‘libs’)

最后,来讲一下AndroidStudio中的Scope的几种方式
compile:
compile是对所有的build type以及favlors都会参与编译并且打包到最终的apk文件中。
Provided:
Provided是对所有的build type以及favlors只在编译时使用,类似eclipse中的external-libs,只参与编译,不打包到最终apk。
APK:
只会打包到apk文件中,而不参与编译,所以不能再代码中直接调用jar中的类或方法,否则在编译时会报错
Test compile :
Test compile 仅仅是针对单元测试代码的编译编译以及最终打包测试apk时有效,而对正常的debug或者release apk包不起作用。
Debug compile:
Debug compile 仅仅针对debug模式的编译和最终的debug apk打包
Release compile:
Release compile 仅仅针对Release 模式的编译和最终的Release apk打包。
我们需要用的是Provided,这样在写代码的时候可以在Module中正常使用jar中的类,但是要有一个Module以compile的方式依赖这个jar,这样编译的时候只有一个jar编译进apk。

猜你喜欢

转载自blog.csdn.net/chenyuan_jhon/article/details/63683104