美文网首页
导依赖包的最佳方式

导依赖包的最佳方式

作者: 一缕阳忆往昔 | 来源:发表于2017-08-22 10:48 被阅读0次

    前言

    项目一般会有多个 module ,这样就容易引起重复引用第三方或者版本不一致,所以需要一个统一的管理。

    谷歌官方的方式

    /*
    app 目录下的 build.gradle
    */
     compileSdkVersion rootProject.ext.compileSdkVersion
     buildToolsVersion rootProject.ext.buildToolsVersion
     defaultConfig {
         minSdkVersion rootProject.ext.minSdkVersion
         targetSdkVersion rootProject.ext.targetSdkVersion
     }
    /*
     Dependency versions are defined in the top level build.gradle file. This helps keeping track of
     all versions in a single place. This improves readability and helps managing project complexity.
     依赖版本在顶层的 bulid.gradle 文件中定义。这有助于在一个地方跟踪所有版本。这提高了可读性,并有助  
     于管理项目的复杂性。
     */
    dependencies {
        // App's dependencies, including test
        compile "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
        compile "com.android.support:cardview-v7:$rootProject.supportLibraryVersion"
        compile "com.android.support:design:$rootProject.supportLibraryVersion"
        compile "com.android.support:recyclerview-v7:$rootProject.supportLibraryVersion"
        compile "com.android.support:support-v4:$rootProject.supportLibraryVersion"
        compile "com.android.support.test.espresso:espresso-idling-resource:$rootProject.espressoVersion"
        compile "com.google.guava:guava:$rootProject.guavaVersion"
    
        // Dependencies for local unit tests
        testCompile "junit:junit:$rootProject.ext.junitVersion"
        testCompile "org.mockito:mockito-all:$rootProject.ext.mockitoVersion"
        testCompile "org.hamcrest:hamcrest-all:$rootProject.ext.hamcrestVersion"
    
        // Android Testing Support Library's runner and rules
        androidTestCompile "com.android.support.test:runner:$rootProject.ext.runnerVersion"
        androidTestCompile "com.android.support.test:rules:$rootProject.ext.runnerVersion"
    
        // Dependencies for Android unit tests
        androidTestCompile "junit:junit:$rootProject.ext.junitVersion"
        androidTestCompile "org.mockito:mockito-core:$rootProject.ext.mockitoVersion"
        androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
        androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
    
        // Espresso UI Testing
        androidTestCompile "com.android.support.test.espresso:espresso-core:$rootProject.espressoVersion"
        androidTestCompile "com.android.support.test.espresso:espresso-contrib:$rootProject.espressoVersion"
        androidTestCompile "com.android.support.test.espresso:espresso-intents:$rootProject.espressoVersion"
    
        // Resolve conflicts between main and test APK:
        androidTestCompile "com.android.support:support-annotations:$rootProject.supportLibraryVersion"
        androidTestCompile "com.android.support:support-v4:$rootProject.supportLibraryVersion"
        androidTestCompile "com.android.support:recyclerview-v7:$rootProject.supportLibraryVersion"
        androidTestCompile "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
        androidTestCompile "com.android.support:design:$rootProject.supportLibraryVersion"
    }
    

    可以看出官方给的很多示例都写了测试类(gradle中的依赖包大部分都是写测试用的),但我目前接触的代码中机会没有(可能是我太渣了。。。)

    project 目录下的 build.gradle
    // Define versions in a single place  唯一定义版本的地方  
    ext {
        // Sdk and tools
        minSdkVersion = 10
        targetSdkVersion = 25
        compileSdkVersion = 25
        buildToolsVersion = '25.0.0'
    
        // App dependencies
        supportLibraryVersion = '25.3.1'
        guavaVersion = '18.0'
        junitVersion = '4.12'
        mockitoVersion = '1.10.19'
        powerMockito = '1.6.2'
        hamcrestVersion = '1.3'
        runnerVersion = '0.5'
        rulesVersion = '0.5'
        espressoVersion = '2.2.2'
    }
    

    注意:

    //两种都可以,不知道有什么区别
    rootProject.ext.compileSdkVersion
    rootProject.compileSdkVersion
    

    这样看起来是不是很清爽!!!

    相关文章

      网友评论

          本文标题:导依赖包的最佳方式

          本文链接:https://www.haomeiwen.com/subject/zapkdxtx.html