美文网首页
Android应用模块基本配置元素

Android应用模块基本配置元素

作者: Fizzzzer | 来源:发表于2019-12-10 01:22 被阅读0次

    Android应用模块基本配置元素

    /**
    * 构建配置中的第一行
    * 将Gradle的Android插件应用到这个构建中
    * 并使Android块可用来指定Android特定的构建选项。
    */
    apply plugin: 'com.android.application'
    
    /**
     * 这是你配置所有Android特有块的地方
     * 构建选项
     */
    
    android {
    
      /**
       * compileSdkVersion指定Gradle应该使用的Android API级别
       * 编译你的应用程序。这意味着你的应用程序可以使用包含的API特性
       */
    
      compileSdkVersion 28
    
      /**
       * buildToolsVersion指定SDK构建工具的命令行版本的工具个编译器
       * Gradle使用他们来构建你的应用程序
       * 您需要使用SDK管理器来下载构建工具
       * 此属性是可选的,因为插件默认使用推荐的构建工具版本
       */
    
      buildToolsVersion "29.0.0"
    
      /**
       * defaultConfig块封装了所有构建变体的默认设置和条目
       * 并且可以覆盖main/AndroidManifest中的一些属性
       * 从构建系统动态地生成xml
       * 您可以配置产品口味来覆盖应用程序不同版本的这些值。
       */
    
      defaultConfig {
    
        /**
         * applicationId惟一地标识要发布的包
         * 但是,您的源代码仍然应该引用主/AndroidManifest.xml文件中的package属性定义的包名。
         */
    
        applicationId 'com.example.myapp'
    
        // 定义你的app所能运行的最低级别API
        minSdkVersion 15
    
        // 指定测试应用的API级别
        targetSdkVersion 28
    
        // 指定你的应用APP的版本号
        versionCode 1
    
        // 指定你的应用的版本名字
        versionName "1.0"
      }
    
      /**
       * 你可以在buildTypes块中配置多个构建类型,默认情况下,
       * 系统定义了两个构建类型,debug和release
       * 在默认的情况下,debug的构建类型中是没有显示配置的
       * 但是他包含调试工具,使用默认的debug-key进行签名
       * build type应用了Proguard设置,默认情况下没有签名
       */
    
      buildTypes {
    
        /**
         * 默认情况下,Android Studio使用minifyEnabled配置发布构建类型来启用代码压缩,
         * 并指定Proguard设置文件。
         */
    
        release {
            minifyEnabled true // 为版本构建类型启用代码资源压缩,其实就是是否使用混淆
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
      }
    
      /**
       * 在productFlavors块中可以配置多个产品风味
       * 这允许你创建不同版本的应用程序
       * 用他们来覆盖defalutConfig块中的属性设置
       * 产品风味是可选的,系统默认不创建他们
       *
       * 这个示例创建了free和paid两个productFlavors
       * 每一个productFlavors都有他们自己特有的一个application ID
       * 所以他们可以同时存在于Google Play Store或者一个Android设备中
       * 
       * 如果你声明一个productFlavors,那么你就必须要声明口味维度(flavorDimension)
       * 并为每一个productFlavors分配一个flavorDimensions
       */
      flavorDimensions "tier"
      productFlavors {
        free {
          dimension "tier"
          applicationId 'com.example.myapp.free'
        }
    
        paid {
          dimension "tier"
          applicationId 'com.example.myapp.paid'
        }
      }
    
      /**
       * 在splits块中,你可以配置不同的apk构建
       * 每个只包含支持的屏幕密度或代码和资源ABI
       * 您还需要配置您的构建,以保证每一个APK都有一个自己不同的versionCode
       */
      splits {
        // 基于屏幕密度来构建多个apk
        density {
    
        // 启用或禁用构建多个apk
        enable false
    
        // 当构建多个apk的时候排除这些配置
        exclude "ldpi", "tvdpi", "xxxhdpi", "400dpi", "560dpi"
        }
      }
    }
    
    /**
     * 指定模块所需的依赖项
     */
    dependencies {
        implementation project(":lib")
        implementation 'com.android.support:appcompat-v7:28.0.0'
        implementation fileTree(dir: 'libs', include: ['*.jar'])
    }

    相关文章

      网友评论

          本文标题:Android应用模块基本配置元素

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