zoukankan      html  css  js  c++  java
  • 《Gradle权威指南》--Android Gradle插件

    No1:

    Android Gradle插件分类

    App插件id:com.android.application

    Library插件id:com.android.library

    Test插件id:com.android.test

    No2:

    除了插件id之外,如果是第三方的插件,还要配置它们的依赖classpath。Android Gradle插件就是属于第三方插件,它托管在Jcenter上。

    buildscript{
        repositories{
            jcenter()
        }
        dependencies{
            classpath 'com.android.tools.build:gradle:1.5.0'
        }
    }

    注:buildscript{}这部分配置可以写到根工程build.gradle脚本文件中,这样所有的子工程就不用重复配置了

    No3:

    apply plugin:'com.android.application'
    
    android{
        compileSdkVersion 23
        buildToolsVersion "23.0.1"
    }

    android{}是Android插件提供的一个扩展类型,可以让我们自定义Android Gradle工程。compileSdkVersion是编译所依赖的Android SDK的版本,这里是API Level;buildToolsVersion是构建该Android工程所用构建工具的版本

    No4:

    proguard-rules.pro是一个混淆配置文件

    No5:

    compileSdkVersion

    public void compileSdkVersion(int apiLevel){
        compiledSdkVersion("android-"+apiLevel);
    }
    public void compileSdkVersion(String version){
        checkWritability();
        this.target = version;
    }
    ------------------------
    public void setCompileSdkVersion(int apiLevel){
        compileSdkVersion(apiLevel);
    }
    public void setCompileSdkVersion(String target){
        compileSdkVersion(target);
    }
    ------------------------
    android.compileSdkVersion = 23
    //or
    android.compileSdkVersion = 'android-23'

    No6:

    buildToolsVersion

    public void buildToolsVersion(String version){
        checkWritability();
        buildToolsRevision = FullRevision.parseRevision(version);
    }
    
    @Override
    public String getBuildToolsVersion(){
        return buildToolsRevision.toString();
    }
    
    public void setBuildToolsVersion(String version){
        buildToolsVersion(version);
    }

    No7:

    defaultConfig

    defaultConfig{
        applicationId "org.flysnow.app.example74"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }

    defaultConfig是默认的配置,它是一个ProductFlavor.

    applicationId:配置的包名

    minSdkVersion:最低支持的Android系统的API Level

    targetSdkVersion:表明我们是基于哪个android版本开发的

    versionCode:表明我们的app应用内部版本号,一般用于控制app升级

    versionName:表明我们的app应用的版本名称,用户可以看到,就是我们发布的版本

    No8:

    buildTypes

    buildTypes{
        release{
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
        }
    }

    buildTypes是一个NamedDomainObjectContainer类型,是一个域对象。

    realease会帮我们自动创建一个对应的BuildType

    minifyEnabled是否为该构建类型启用混淆

    proguardFiles,当启用混淆时,所使用的proguard的配置文件,配置如何进行混淆

    getDefaultProguardFile是android扩展的一个方法,可以获取你的android sdk目录下默认的proguard配置文件

    No9:

    android gradle任务

    connectedCheck:在所有的连接的设备或者模拟器上运行check检查

    deviceCheck:通过API连接远程设备运行checks

    lint:在所有的ProductFlavor上运行lint检查

    install和uninstall类的任务可以直接在我们已连接的设备上安装或者卸载你的app

    singingReport:打印app的签名

    androidDependencies:打印android的依赖

  • 相关阅读:
    对JAVA集合进行遍历删除时务必要用迭代器
    【javascript的那些事】等待加载完js后执行方法
    【微信H5】 Redirect_uri参数错误解决方法
    关于Java优质代码的那些事
    H5页面微信分享和手Q分享设置
    LVS+keepalived-DR模式
    Linux文件误删恢复
    MySQL常用语句
    sudo权限配置
    Rsync同步部署web服务端配置
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/8609746.html
Copyright © 2011-2022 走看看