build.gradle文件基本用法

build.gradle文件的作用在于适配不同系统版本的手机调试应用、注入第三方类库、构建应用的SDK版本。

下面详细说一下gradle文件中代码的含义。

apply plugin : 'com.android.application' :这行代码的意思是说明model的类型 ‘com.android.application’ 作为应用程序。

apply plugin : 'com.android.library' :'com.android.library' 作为库。

我参与的App还用到了apply plugin : 'com.neenbedankt.android-apt'  ,它是一个插件,用来帮助Android Studio处理annotation processors。它的主要作用有两点,一是允许gradle文件只有在编译时作为注解处理器的依赖,不添加到library或者是左后的APK中;二是可以设置源路径,可以让Android Studio能正确的引用你所添加的依赖。除此之外我们还用到了apply plugin: 'realm-android',它是一款轻量级的数据库,相比SQLite,它更快,支持多种现代的数据库特性,使用起来更加方便。

repositories{

       jcenter()

}

上面的代码的含义是gradle通过repository找到外部应用,gradle默认不指定任何仓库,jcenter是标准的Android代码库仓库,里面有很多开源的工具类和控件。repository支持多种库,比如maven,ivy。

dependencies{

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


      compile 'com.android.support:support-v13:25.0.1'

      
compile 'com.android.support:appcompat-v7:25.0.1'

      
compile 'com.android.support:cardview-v7:25.0.1'
compile '

      com.android.support:recyclerview-v7:25.0.1'


      compile 'com.android.support:design:25.0.1'


      compile 'com.android.support:percent:25.0.1'

      debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2'


      releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'

      apt 'com.google.dagger:dagger-compiler:2.0.2'
 

      provided 'javax.annotation:jsr250-api:1.0'

}

上面的代码块是声明要注入的依赖,第一行是编译libs目录下的所有jar包,除了我们compile的以外在libs目录下还有其他加入进来的jar包,我们要在compile其他注入的类库的同compile libs目录下的文件。最后面的四行代码,第一行的debugCompile是指debug时才去编译,第二行releaseCompile是指打包的时候才去编译,第三行apt是指android-apt,它是一个AS的插件,可以指定代码编译时的配置,第四行provided是指只在编译时使用,不会将代码打进包中。

compileSdkVersion 23                                  编译时的SDK版本


buildToolsVersion '25.0.0'
                             编译工具的版本,需要跟AS同步更新,否则可能出现问题

defaultConfig {
                                              默认配置

applicationId 'com.demo.android'
                 应用的包名

    minSdkVersion 17                                    适配应用的最低SDK版本


    targetSdkVersion 23                                适配应用的目标SDK版本


    versionCode 35                                        应用的版本号


    versionName '2.9.0'
                                 应用的版本名字

}


signingConfigs {                               



    debug {


        storeFile file("yintong_keystore_psd_yintong.keystore")
          debug时的签名配置

        storePassword "yintong"
                                                          密钥文件的密码

        keyAlias "yintong"                                                                     密钥文件的别名


        keyPassword "yintong"
                                                             密码

    }

   

    realse {


        storeFile file("yintong_keystore_psd_yintong.keystore")
         realase时的签名配置

        storePassword "yintong"                                                          密钥文件的密码


        keyAlias "yintong"                                                                    密钥文件的别名


        keyPassword "yintong"
                                                            密码

   }


}

sourceSets {                                                                                    目录指向配置
        main {
            manifest.srcFile 'AndroidManifest.xml'                                指定AndroidManifest文件
            java.srcDirs = ['src']                                                             指定source目录
            resources.srcDirs = ['src']                                                    指定source目录
            aidl.srcDirs = ['src']                                                              指定source目录
            renderscript.srcDirs = ['src']                                                 指定source目录
            res.srcDirs = ['res']                                                              指定资源目录
            assets.srcDirs = ['assets']                                                    指定assets目录
            jniLibs.srcDirs = ['libs']                                                         指定lib库目录
        }

        debug.setRoot('build-types/debug')                                         指定debug模式的路径
        release.setRoot('build-types/release')                                     指定release模式的路径
    }

还有一些其他的配置需要大家根据自己项目的需要实际去配置,基本的配置就是这些,哪里不准确还希望大家留言更正,谢谢。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值