日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android Gradle 插件】ProductFlavor 配置 ( ProductFlavor#buildConfigField 方法 | 单独编译生成 BuildConfig 类的任务 )

發布時間:2025/6/17 Android 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android Gradle 插件】ProductFlavor 配置 ( ProductFlavor#buildConfigField 方法 | 单独编译生成 BuildConfig 类的任务 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、ProductFlavor#buildConfigField 方法
  • 二、單獨執行 Gradle 編譯 BuildConfig 的任務

Android Plugin DSL Reference 參考文檔 :

  • 文檔主頁 : https://google.github.io/android-gradle-dsl/2.3/

  • AppExtension ( build.gradle#android 配置 ) 文檔位置 : android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.AppExtension.html

  • build.gradle#android 模塊配置文檔 : android-gradle-dsl/2.3/com.android.build.gradle.AppExtension.html

  • ProductFlavor ( build.gradle#android#defaultConfig 配置 ) 文檔 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.ProductFlavor.html

  • ProductFlavor#externalNativeBuild 配置 ( build.gradle#android#defaultConfig#externalNativeBuild 配置 ) : com.android.build.gradle.internal.dsl.ProductFlavor:externalNativeBuild

  • ExternalNativeBuildOptions ( build.gradle#android#defaultConfig#externalNativeBuild 配置 ) 文檔位置 : android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.ExternalNativeBuildOptions.html

  • NdkBuildOptions ( build.gradle#android#defaultConfig#externalNativeBuild#ndkBuild 配置 ) 文檔位置 : android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.NdkBuildOptions.html

  • CmakeOptions ( build.gradle#android#defaultConfig#externalNativeBuild#cmake 配置 ) 文檔位置 : android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.CmakeOptions.html

  • JackOptions ( build.gradle#android#defaultConfig#jackOptions 配置 ) 文檔位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.JackOptions.html

  • AnnotationProcessorOptions ( 注解處理器配置 ) ( build.gradle#android#defaultConfig#javaCompileOptions配置 ) 文檔位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.AnnotationProcessorOptions.html

  • NdkOptions ( build.gradle#android#defaultConfig#ndk 配置 ) 文檔位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.NdkOptions.html

  • VectorDrawablesOptions ( build.gradle#android#defaultConfig#vectorDrawables 配置 ) 文檔位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.VectorDrawablesOptions.html

  • NDK 參考文檔 : Add C and C++ Code to Your Project.





一、ProductFlavor#buildConfigField 方法



ProductFlavor ( build.gradle#android#defaultConfig 配置 ) 文檔 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.ProductFlavor.html


ProductFlavor 中的方法 , 大部分都是為 ProductFlavor 的屬性進行賦值 ;

ProductFlavor#buildConfigField 方法 , 用于在編譯時指定在 BuildConfig 類中 , 生成的字段 ;

向生成的 BuildConfig 類添加一個新字段。 該字段生成為:<type><name>=<value> 這意味著每一個都必須有有效的Java內容。如果類型是字符串,則該值應包含引號。

這里調用

void buildConfigField(String type, String name, String value)

方法 , 向 生成的 BuildConfig 類中添加新的字段 , 生成的字段樣式為

<type> <name> = <value>;

這里需要注意 , 上述 333 個字符串原封不動的替換 ,

如果是字符串 , 需要使用如下樣式聲明 , 字符串外部的雙引號 , 也需要手動使用轉移字符串生成 ;

buildConfigField("String", "market", "\"${market}\"")

在 build.gradle 中聲明 BuildConfig 字段代碼 :

android {compileSdkVersion 30buildToolsVersion "30.0.3"defaultConfig {applicationId "com.example.classloader_demo"minSdkVersion 18targetSdkVersion 30buildConfigField("boolean", "isGooglePlay", "true")buildConfigField("String", "market", '"GooglePlay"')} }

編譯完成后生成的 BuildConfig 類 :

package com.example.classloader_demo;public final class BuildConfig {public static final boolean DEBUG = Boolean.parseBoolean("true");public static final String APPLICATION_ID = "com.example.classloader_demo";public static final String BUILD_TYPE = "debug";public static final int VERSION_CODE = 1;public static final String VERSION_NAME = "1.0";// Field from default config.public static final boolean isGooglePlay = true;// Field from default config.public static final String market = "GooglePlay"; }

實際用法 : 參考 【Android Gradle 插件】gradle.properties 中配置編譯參數并在 Java 代碼 BuildConfig 中調用該參數 博客 ;





二、單獨執行 Gradle 編譯 BuildConfig 的任務



Android Gradle 插件中 , 提供了單獨編譯 BuildConfig 類的 Gradle 任務 , 即 generateDebugBuildConfig 任務 ;

在 Android Studio 命令行中 , 可以執行

gradlew generateDebugBuildConfig

命令 , 單獨編譯生成 BuildConfig 類 ;

執行結果 :

Y:\002_WorkSpace\001_AS\SVG>gradlew generateDebugBuildConfigBUILD SUCCESSFUL in 4s 3 actionable tasks: 2 executed, 1 up-to-date Y:\002_WorkSpace\001_AS\SVG>

總結

以上是生活随笔為你收集整理的【Android Gradle 插件】ProductFlavor 配置 ( ProductFlavor#buildConfigField 方法 | 单独编译生成 BuildConfig 类的任务 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 神马伦理影视 | 国产第5页 | av男人的天堂在线 | 一级片欧美 | 一级不卡 | 国产午夜精品一区二区三区嫩草 | 射影院 | 韩国19主播内部福利vip | 天堂中文字幕 | 涩涩视频免费在线观看 | 玖玖热视频 | 国产在线免费视频 | 国产成人无码精品久久久久 | 女女互慰吃奶互揉调教捆绑 | 欧美久久久 | 老司机深夜福利影院 | wwwav视频| 中文字幕第66页 | www.五月婷婷.com | 欧美黑人性受xxxx精品 | 青青青视频免费观看 | 免费无码又爽又黄又刺激网站 | aaaa黄色片 | 国产精品一卡二卡三卡 | 天天干夜夜拍 | 亚洲av永久无码精品一百度影院 | 免费a级| 欧美与黑人午夜性猛交久久久 | 91看片网站 | 人妻在线一区二区 | 成人免费大片黄在线播放 | 欧美性猛交xxxx乱大交hd | 亚洲精品字幕 | 欧美有码视频 | 欧美射射射 | 成人av网站大全 | 中文字幕永久在线观看 | 亚洲成人视屏 | 人人妻人人玩人人澡人人爽 | 激情欧美在线 | 亚洲网av| 老女人毛片| 欧美在线视频免费观看 | 美女免费网站 | 老女人综合网 | 911精品国产一区二区在线 | 日韩乱码一区二区 | 免费的毛片 | 伊人久久国产精品 | 九七影院在线观看免费观看电视 | 99re99热 | 日韩欧美偷拍 | www,四虎| 亚洲国产日韩欧美一区二区三区 | 影音先锋亚洲成aⅴ人在 | 欧美18av | 日韩精品一区二区三区高清免费 | 中文字幕中出 | 欧美巨大荫蒂茸毛毛人妖 | 视频免费在线观看 | 神马午夜国产 | 麻豆福利视频 | 久久精品视频网 | 风间由美av | 欧美视频中文字幕 | www视频在线观看免费 | 国产午夜av | 好av| 日韩午夜激情电影 | 老公吃小头头视频免费观看 | 日本福利视频导航 | 网爆门在线 | 欧美激情四区 | 日韩电影在线观看一区二区 | 国产另类自拍 | 91国产在线免费观看 | 夫妻性生活自拍 | r级无码视频在线观看 | 国产嫩草影院久久久 | av色资源 | 假日游船法国满天星 | 亚洲福利电影网 | 秋霞影院午夜丰满少妇在线视频 | 亚洲AV无码一区二区三区蜜桃 | 一区二区三区av在线 | 日韩精品成人一区二区在线 | 国产高清精品一区 | 国产一级片一区二区 | 性做久久久久久久久 | 久久久久久av无码免费网站 | 欧美日本一区二区三区 | 99精品久久久久久 | 日韩欧美激情视频 | 国产精品无码免费播放 | 精品国产一区二区三区久久久蜜臀 | 免费黄色网页 | 欧美色图亚洲天堂 | 激情www| 欧美精品在线一区二区三区 |