为了账号安全,请及时绑定邮箱和手机立即绑定

AndroidStudio Gradle第三依赖统一管理

标签:
Android

     AndroidStudio由于使用了gradle的进行项目构建,使我们开发app方便很多,今天我就给大家列出几点是用gradle的方便之处。

    在很多时候我们使用AndroidStudio开发安卓App的时候都会引入第三方的库,在一个project下我们可以有很多的module,每一个module就是一个app,但是每个module在进行第依赖第三方的时候,有可能依赖第三方的版本不同,记住每次使用的版本号也不太可能,所以统一管理第三方依赖就尤其的重要。

     我们可以将依赖的第三方集中放入到一个gradle中,然后在需要使用的的module中将其引入即可,这样很方便的进行的了不同版本的管理了。

首先我们在project下新建一个叫“config.gradle”的文件(名字随便起),然后将要的所有第三方依赖库进行配置。


[java] view plain copy

  1. ext {  

  2.       

  3.     android = [  

  4.             compileSdkVersion: 23,  

  5.             buildToolsVersion: "24.0.2",  

  6.             minSdkVersion    : 15,  

  7.             targetSdkVersion : 23,  

  8.             versionCode      : 1,  

  9.             versionName      : "1.0"  

  10.     ]  

  11.   

  12.     dependVersion = [  

  13.             support: "23.4.0"  

  14.     ]  

  15.   

  16.     dependencies = [  

  17.             // ------------- Android -------------  

  18.             supportV4            : "com.android.support:support-v4:${dependVersion.support}",  

  19.             appcompatV7          : "com.android.support:appcompat-v7:${dependVersion.support}",  

  20.             design               : "com.android.support:design:${dependVersion.support}",  

  21.             junit                : "junit:junit:4.12",  

  22.             //------------- 测试 -------------  

  23.             espresso             : "com.android.support.test.espresso:espresso-core:2.2.2",  

  24.   

  25.             // ------------- 网络请求 -------------  

  26.             okhttp               : 'com.squareup.okhttp3:okhttp:3.3.1',  

  27.             retrofit             : 'com.squareup.retrofit2:retrofit:2.1.0',  

  28.   

  29.             // ------------- 图片加载 -------------  

  30.             fresco               : 'com.facebook.fresco:fresco:0.11.0',  

  31.             animatedGif          : 'com.facebook.fresco:animated-gif:0.12.0',  

  32.             picasso              : 'com.squareup.picasso:picasso:2.5.2',  

  33.             photoView            : 'com.github.chrisbanes:PhotoView:1.3.1',  

  34.   

  35.             // ------------- RxAndroid -------------  

  36.             rxAndroid            : 'io.reactivex:rxandroid:1.2.1',  

  37.             rxJava               : 'io.reactivex:rxjava:1.2.2',  

  38.   

  39.             // ------------- json解析 -------------  

  40.             fastJson             : 'com.alibaba:fastjson:1.1.54.android',  

  41.             gson                 : 'com.google.code.gson:gson:2.8.0',  

  42.   

  43.             // ------------- log打印工具 -------------  

  44.             logger               : 'com.orhanobut:logger:1.15',  

  45.   

  46.             greendao             : 'org.greenrobot:greendao:3.2.0',  

  47.   

  48.             // ------------- ButterKnife -------------  

  49.             butterknife          : 'com.jakewharton:butterknife:8.4.0',  

  50.             butterknifeCompiler  : 'com.jakewharton:butterknife-compiler:8.4.0',  

  51.   

  52.             // ------------- LeakCanary -------------  

  53.             leakcanaryAndroid    : 'com.squareup.leakcanary:leakcanary-android:1.5',  

  54.             leakcanaryAndroidNoOp: 'com.squareup.leakcanary:leakcanary-android-no-op:1.5',  

  55.     ]  

  56. }  


     这样我们就配置好了所有的依赖库了,接下来就是要需要的依赖库引入到我们的module中了。


1、在我们的project中的build.gradle中添加

[java] view plain copy

  1. apply from: "config.gradle"  

2、在我们的module的build.gradle中引入

这是引入之前的gradle

[java] view plain copy

  1. apply plugin: 'com.android.application'  

  2. android {  

  3.     compileSdkVersion 23  

  4.     buildToolsVersion "24.0.2"  

  5.   

  6.     defaultConfig {  

  7.         applicationId "com.bandeng.bandeng"  

  8.         minSdkVersion 15  

  9.         targetSdkVersion 23  

  10.         versionCode 1  

  11.         versionName "1.0"  

  12.         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"  

  13.     }  

  14.     buildTypes {  

  15.         release {  

  16.             minifyEnabled false  

  17.             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  

  18.         }  

  19.     }  

  20. }  

  21. dependencies {  

  22.     compile fileTree(dir: 'libs', include: ['*.jar'])  

  23.     androidTestCompile("com.android.support.test.espresso:espresso-core:2.2.2", {  

  24.         exclude group: 'com.android.support', module: 'support-annotations'  

  25.     })  

  26.     compile "com.android.support:appcompat-v7:23.4.0"  

  27.     testCompile "junit:junit:4.12"  

  28.     compile "com.android.support:design:23.4.0"  

  29. }  


改造之后的gradle


[java] view plain copy

  1. apply plugin: 'com.android.application'  

  2.   

  3. android {  

  4.     compileSdkVersion rootProject.ext.android.compileSdkVersion  

  5.     buildToolsVersion rootProject.ext.android.buildToolsVersion  

  6.   

  7.     defaultConfig {  

  8.         applicationId "com.bandeng.bandeng"  

  9.         minSdkVersion rootProject.ext.android.minSdkVersion  

  10.         targetSdkVersion rootProject.ext.android.targetSdkVersion  

  11.         versionCode rootProject.ext.android.versionCode  

  12.         versionName rootProject.ext.android.versionName  

  13.         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"  

  14.     }  

  15.     buildTypes {  

  16.         release {  

  17.             minifyEnabled false  

  18.             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  

  19.         }  

  20.     }  

  21. }  

  22. dependencies {  

  23.     compile fileTree(dir: 'libs', include: ['*.jar'])  

  24.     androidTestCompile(rootProject.ext.dependencies.espresso, {  

  25.         exclude group: 'com.android.support', module: 'support-annotations'  

  26.     })  

  27.     compile rootProject.ext.dependencies.appcompatV7  

  28.     testCompile rootProject.ext.dependencies.junit  

  29.     compile rootProject.ext.dependencies.design  

  30.     // 网络请求  

  31.     compile rootProject.ext.dependencies.okhttp  

  32.     compile rootProject.ext.dependencies.retrofit  

  33.     // 图片加载  

  34.     compile rootProject.ext.dependencies.picasso  

  35.     // RxJava  

  36.     compile rootProject.ext.dependencies.rxAndroid  

  37.     compile rootProject.ext.dependencies.rxJava  

  38.     // json解析  

  39.     compile rootProject.ext.dependencies.gson  

  40.     // log打印工具  

  41.     compile rootProject.ext.dependencies.logger  

  42. }  


这样是不是很方便的管理依赖的第三方了。

原文链接:http://www.apkbus.com/blog-822717-67975.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消