PHP小丑 发表于 2022-6-16 10:00:05

Gradle连载6-AndroidGradle任务之defaultConfig配置

一、android工程配置
buildscript {
    repositories {
      jcenter()
    }
    dependencies {
      classpath 'com.android.tools.build:gradle:3.1.4'
    }
}
apply plugin: 'com.android.application'

android {
    compileSdkVersion 23 // 还可以写成compileSdkVersion 'android-23', 原来的写法其实就是一个方法
    // public void compileSdkVersion(String version) {
    //    checkWritability();
    //    this.target = version
    // }
    buildToolsVersion "23.0.1"

    defaultConfig {
      applicationId "org.flysnow.app.test" // 配置的包名
      minSdkVersion 14
      targetSdkVersion 23
      versionCode 1 // 应用内部版本号,用于上级app升级
      versionName "1.0"
    }
    buildTypes { // 是一个NamedDomainObjectContainer类型,是一个域对象
      // 可以再其中新增任意多个需要构建的类型,比如debug
      release {
            minifyEnabled false // 是否启动混淆
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            // 下面是混淆文件的加载
      }
    }
}
// android gradle工程都是在android{}中的,唯一入口

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testComplie 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:28.0.0'
    compile 'com.android.support:design:23.0.0'
}


[*]android gradle 工程具体实现是com.android.build,gradle.AppExtension,是Project的一个扩展,原型为extension = project.extension.create('android, getExtensionClass(), (PojectInternal)project, instantiator, androidBuilder, sdkHandler, buildTypeContainer, productFlavorContainer, signingConfigContainer, extraModelInfo, isLibrary())
二、defaultConfig配置

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
      applicationId "org,flysnow.app.example74" // 这是ProductFlavor的一个属性,用于指定生成App的包名
      // 在构建的时候,会从AndroidManifest.xml进行读取,也就是manifest标签的package属性值
      minSdkVersion 14
      targetSdkVersion 23
      verionCode 1 // 用于配置APP的内部版本号,是一个整数值,通常用于版本升级
      versionName "1.0"// 用于配置APP的版本名称如V1.0.0,这个是外部使用,一起配合使用
    }

    /**
   * minSdkVersion是ProductFlavor的一个方法,其原型为
   *
   * public void minSdkVersion(int minSdkVersion) {
   *   setMinSdkVersion(minSdkVersion);
   * }
   *
   * 还可以表示为
   * public void MinSdkVersion(@Nullable String minSdkVersion) {
   *   setMinSdkVersion(getApiVersion(minSdkVersion));
   * }
   * // 这里的字符串是有特定的指定对应的如图6.1
   */
}
三、源码

[*]gitee路径:https://gitee.com/dongqianrui/AndroidStudioProject/tree/master/Test1
[*]CSDN:https://blog.csdn.net/weixin_44630050
[*]博客园:https://www.cnblogs.com/ruigege0000/
[*]欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流


   
   
   


https://www.cnblogs.com/ruigege0000/p/16380465.html
页: [1]
查看完整版本: Gradle连载6-AndroidGradle任务之defaultConfig配置