美文网首页
mudule build.gradle 模块级构建文件

mudule build.gradle 模块级构建文件

作者: 勤劳的蚂蚁 | 来源:发表于2020-12-10 15:40 被阅读0次

    google 文档说明 对应地址: https://developer.android.com/studio/build

    模块级 build.gradle 文件位于每个 project/module/ 目录下,用于为其所在的特定模块配置构建设置。您可以通过配置这些构建设置提供自定义打包选项(如额外的构建类型和产品变种),以及替换 main/ 应用清单或顶层 build.gradle 文件中的设置。

    /**
     * The first line in the build configuration applies the Android plugin for
     * Gradle to this build and makes the android block available to specify
     * Android-specific build options.
    翻译后:
    构建配置的第一行将Android插件应用于 升级到此版本,并使android块可用于指定 特定于Android的构建选项
    自己翻译:
    构建配置的第一行通过Gradle 构建使用Android插件,可使android块用于指定 特定的Android构建选项。
     */
    
    apply plugin: 'com.android.application'
    
    /**
     * The android block is where you configure all your Android-specific
     * build options.
    翻译后:
    android块是您配置所有特定于Android的地方 构建选项。
     */
    
    android {
    
      /**
       * compileSdkVersion specifies the Android API level Gradle should use to
       * compile your app. This means your app can use the API features included in
       * this API level and lower.
    翻译后:
    编译Sdk版本指定Gradle编译您的应用程序使用的Android API级别 。这意味着您的应用可以使用此API级别及更低的API功能 。
       */
    
      compileSdkVersion 28
    
      /**
       * buildToolsVersion specifies the version of the SDK build tools, command-line
       * utilities, and compiler that Gradle should use to build your app. You need to
       * download the build tools using the SDK Manager.
       *
       * This property is optional because the plugin uses a recommended version of
       * the build tools by default.
    翻译后:
    buildToolsVersion指定SDK构建工具的版本,命令行和 Gradle用于构建程序的编译器。你需要下载构建工具来使用SDK Manager。
    
    此属性是可选的,因为插件使用推荐的版本 默认情况下为构建工具
       */
    
      buildToolsVersion "29.0.2"
    
      /**
       * The defaultConfig block encapsulates default settings and entries for all
       * build variants, and can override some attributes in main/AndroidManifest.xml
       * dynamically from the build system. You can configure product flavors to override
       * these values for different versions of your app.
    翻译后:
    defaultConfig块对于构建变体所有封装了所有的默认设置和条目 ,并且可以动态地构建系统并覆盖main / AndroidManifest.xml中的某些属性 。您可以配置产品口味以覆盖
    这些值适用于您应用的不同版本
       */
    
      defaultConfig {
    
        /**
         * applicationId uniquely identifies the package for publishing.
         * However, your source code should still reference the package name
         * defined by the package attribute in the main/AndroidManifest.xml file.
    翻译后:
    applicationId唯一标识要发布的包。 但是,您的源代码仍应引用程序包名称main / AndroidManifest.xml文件中的package属性定义。
         */
    
        applicationId 'com.example.myapp'
    
        // Defines the minimum API level required to run the app.
    翻译:
      定义app最低支持的版本
        minSdkVersion 15
    
        // Specifies the API level used to test the app.
    翻译:
    指定用于测试应用程序的API级别
        targetSdkVersion 28
    
        // Defines the version number of your app.
    翻译为:
    定义应用程序的版本号
        versionCode 1
    
        // Defines a user-friendly version name for your app.
    //为您的应用程序定义一个用户友好的版本名称
        versionName "1.0"
      }
    
      /**
       * The buildTypes block is where you can configure multiple build types.
       * By default, the build system defines two build types: debug and release. The
       * debug build type is not explicitly shown in the default build configuration,
       * but it includes debugging tools and is signed with the debug key. The release
       * build type applies Proguard settings and is not signed by default.
    翻译后:
    您可以在buildTypes块中配置多种构建类型。
    默认情况下,构建系统定义了两种构建类型:调试和发布。
    默认生成配置中,debug调试构建类型虽然没有在显式展示,
    但它包含调试工具,并使用调试键签名。release发布
    构建类型应用混淆设置,默认没有签名。
       */
    
      buildTypes {
    
        /**
         * By default, Android Studio configures the release build type to enable code
         * shrinking, using minifyEnabled, and specifies the default Proguard rules file.
    翻译后:
    默认情况下,Android Studio将发布版本类型配置为启用代码 使用minifyEnabled缩小,并指定默认的Proguard 混淆规则文件。
         */
    
        release {
            minifyEnabled true // Enables code shrinking for the release build type.
    翻译后:
    为发布版本类型启用代码收缩。
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
      }
    
      /**
       * The productFlavors block is where you can configure multiple product flavors.
       * This allows you to create different versions of your app that can
       * override the defaultConfig block with their own settings. Product flavors
       * are optional, and the build system does not create them by default.
       *
       * This example creates a free and paid product flavor. Each product flavor
       * then specifies its own application ID, so that they can exist on the Google
       * Play Store, or an Android device, simultaneously.
       *
       * If you declare product flavors, you must also declare flavor dimensions
       * and assign each flavor to a flavor dimension.
    翻译后:
    在productflavor(各种产品)块中,您可以配置多种产品口味。
    其允许你创建不同版本的应用程序并可以
    用其的设置覆盖defaultConfig (默认配置)块。产品口味
    是可选的,构建系统默认不创建它们。
    
    本示例创建了免费和付费的产品样式。每种产品的味道 可以指定其自己的应用程序ID,以便它们可以在Google Play商店或Android设备同时存在。
    
    如果声明产品口味,则还必须声明口味尺寸并将每种风味分配给风味维度。
       */
    
      flavorDimensions "tier"
      productFlavors {
        free {
          dimension "tier"
          applicationId 'com.example.myapp.free'
        }
    
        paid {
          dimension "tier"
          applicationId 'com.example.myapp.paid'
        }
      }
    
      /**
       * The splits block is where you can configure different APK builds that
       * each contain only code and resources for a supported screen density or
       * ABI. You'll also need to configure your build so that each APK has a
       * different versionCode.
    翻译后:
    拆分块是您可以配置不同APK版本的地方 ,每个仅包含用于支持的屏幕密度的代码和资源,或者 不同类型的ABI。您还需要配置自己的版本,以便每个APK都有一个 不同的versionCode。
       */
    
      splits {
        // Settings to build multiple APKs based on screen density.
    翻译后:
    用于根据屏幕密度构建多个APK的设置
        density {
    
          // Enable or disable building multiple APKs.
    翻译后:
    启用或禁用构建多个APK
          enable false
    
          // Exclude these densities when building multiple APKs.
      在构建多个APK时排除这些密度
          exclude "ldpi", "tvdpi", "xxxhdpi", "400dpi", "560dpi"
        }
      }
    }
    
    /**
     * The dependencies block in the module-level build configuration file
     * specifies dependencies required to build only the module itself.
     * To learn more, go to Add build dependencies.
    翻译后:
    自己 :模块本身需要的依赖资源。
    模块级构建配置文件中的依赖项块 指定仅构建模块本身所需的依赖项。 要了解更多信息,请转到添加构建依赖项。
     */
    
    dependencies {
        implementation project(":lib")
        implementation 'com.android.support:appcompat-v7:28.0.0'
        implementation fileTree(dir: 'libs', include: ['*.jar'])
    }
    

    相关文章

      网友评论

          本文标题:mudule build.gradle 模块级构建文件

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