评论

收藏

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

移动开发 移动开发 发布于:2022-06-16 10:00 | 阅读数:507 | 评论:0

一、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配置
DSC0000.jpg
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/
  • 欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流


   
   
   


关注下面的标签,发现更多相似文章