首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Gradle 4.1中为特定的口味-构建类型组合设置applicationIdSuffix

在Gradle 4.1中,可以使用applicationIdSuffix属性为特定的口味-构建类型组合设置applicationId后缀。applicationIdSuffix是一个字符串,它会被附加到应用程序的包名后面,以创建不同的应用程序ID。

设置applicationIdSuffix可以帮助我们在同一个应用程序中创建多个变体,每个变体都有不同的应用程序ID。这对于在不同的环境中部署应用程序或为不同的用户提供定制化版本非常有用。

下面是一个示例的build.gradle文件,展示了如何为特定的口味-构建类型组合设置applicationIdSuffix:

代码语言:txt
复制
android {
    defaultConfig {
        applicationId "com.example.myapp"
        // ...
    }

    flavorDimensions "version"
    productFlavors {
        free {
            dimension "version"
            applicationIdSuffix ".free"
            // ...
        }
        paid {
            dimension "version"
            applicationIdSuffix ".paid"
            // ...
        }
    }

    buildTypes {
        debug {
            // ...
        }
        release {
            // ...
        }
    }
}

在上面的示例中,我们定义了一个名为version的维度,并创建了两个口味:free和paid。对于free口味,我们设置了applicationIdSuffix为".free",对于paid口味,我们设置了applicationIdSuffix为".paid"。

这样,当我们构建freeDebug变体时,应用程序的应用程序ID将变为"com.example.myapp.free";当我们构建paidRelease变体时,应用程序的应用程序ID将变为"com.example.myapp.paid"。

推荐的腾讯云相关产品:腾讯云移动应用分发服务(https://cloud.tencent.com/product/tcapk)

请注意,以上答案仅供参考,具体的配置和推荐产品可能因实际需求和情况而有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Android Gradle 插件】BuildType 编译类型配置 ① ( BuildType 编译类型简介 | BuildType#applicationIdSuffix 包名后缀配置 )

文章目录 一、BuildType 编译类型 二、BuildType#applicationIdSuffix 包名后缀配置 Android Plugin DSL Reference 参考文档 : 文档主页...一、BuildType 编译类型 ---- Android Gradle 插件 , 在编译时 , 会自动创建 debug 和 release 两种 构建类型 APK 安装包 ; BuildType...中 , 也就是 build.gradle android 配置块下使用 ; BuildType 原型如下 : BuildType 是靠 NamedDomainObjectContainer 容器代理...与 DefaultProductFlavor 都有 applicationIdSuffix 包名后缀配置 ; 使用如下配置 Gradle 构建脚本 , " android # defaultConfig...# applicationIdSuffix " 配置 “.tom” 设置 , " android # buildTypes # debug # applicationIdSuffix " 配置 “

99920

哪怕不学Gradle,这些开发常见操作,你也值得掌握

dimension "channel" // appid后缀,会覆盖了我们build类型applicationIdSuffix applicationIdSuffix...配置变体时,我们也可以替换 build类型设置所有默认值,具体原因是,添加 build类型 时,默认 defaultConfig 配置其实是属于 ProductFlavors 类,所以我们也可以在任意变体中替换所有默认值...---- 组合多个变体 某些场景下,我们可能想将多个产品变体组合在一起,比如我们想增加一个 api30 变体,并且针对这个变体,我们想让demo1和demo2与分别也能与其组合在一起 ,即也就是当...build类型) 需要注意是 debug 和 relase 是默认就会存在,我们可以选择覆盖,否则就算移除,其也会选择默认设置存在 即也就是最终 gradle 会帮我们每个变体都生成相应 build...---- 过滤变体 Gradle 会为我们配置 所有变体 和 build类型 每一种可能组合都创建一个 build变种 。

60720
  • Android 构建多APK

    Android 开发过程中,总是会遇到这样场景: 1,app需要交付给不同客户,每个客户都有自己相关定制,这时候应该如何构建?...sz { // 定义flavor 可以设置自己包名等差异话信息 applicationId 'com.demo.sz' dimension...city数量 * color数量 * 2 (Debug/Release) = 12 APK多环境开发 Studio工程中,默认有Debug/Release 两种环境,部分场景中,可能两种环境并不能满足我们开发需求..."] } } 过滤APK 定制不同Flavor 和 BuildTypes 时, 总是会组合出很多其实我们不需要APK类型,通过下面的方式可以过滤调那些我们不需要APK,这样看起来也会清爽很多...工程目录下新建一个 customization.gradle 文件 //自定义构建劫持操作(project.afterEvaluate 模块配置结束回调) project.afterEvaluate

    66430

    Gradle 与 AGP 构建 API: 如何编写插件

    变体由多个构建类型组合而成,例如 debug 与 release,以及构建脚本中定义产品变种。 构建文件中,使用声明式 DSL 添加构建类型是完全没有问题。...不过,代码中以这种方式让您插件影响构建是不可能,或者说难以使用声明式语法进行表达。 AGP 通过解析构建脚本及 android 块中设置属性来启动构建。...在此回调中,我可以 DSL 对象应用于 Variant 创建前对它们进行修改。我将创建一个新构建类型并且设置属性。...= ".debugStaging" } } 注意,在此阶段中,我可以创建或注册新构建类型设置它们属性。...在这里,我会检查当前变体是否是我 staging 创建变体。接下来,我将禁用单元测试并设置不同 minSdk 版本。

    83930

    哪怕不学Gradle,这些开发中常见操作,你也值得掌握

    dimension "channel" // appid后缀,会覆盖了我们build类型applicationIdSuffix applicationIdSuffix...配置变体时,我们也可以替换 build类型设置所有默认值,具体原因是,添加 build类型 时,默认 defaultConfig 配置其实是属于 ProductFlavors 类,所以我们也可以在任意变体中替换所有默认值...组合多个变体 某些场景下,我们可能想将多个产品变体组合在一起,比如我们想增加一个 api30 变体,并且针对这个变体,我们想让demo1和demo2与分别也能与其组合在一起 ,即也就是当channel...build类型) 需要注意是 debug 和 relase 是默认就会存在,我们可以选择覆盖,否则就算移除,其也会选择默认设置存在 即也就是最终 gradle 会帮我们每个变体都生成相应 build...过滤变体 Gradle 会为我们配置 所有变体 和 build类型 每一种可能组合都创建一个 build变种 。

    50620

    史上最全Android build.gradle配置教程

    前言 Android Studio是采用gradle构建项目的,gradle是基于groovy语言,如果只是用它构建普通Android项目的话,是可以不去学groovy。...2.2、compileSdkVersion:设置编译时用Android版本 2.3、buildToolsVersion:设置编译时使用构建工具版本,Android Studio3.0后去除此项配置...属性值被设置大于或等于该系统平台API版本时,才会生效。...通常在适配多个渠道时候,需要为特定渠道做部分特殊处理,比如设置不同包名、应用名等。...加上这句声明后,Gradle构建项目时会先检查一下本地是否已经缓存过该库,若没有缓存则自动联网下载,下载后自动添加到项目的构建路径中去。

    5K30

    【Android Gradle 插件】BuildType 编译类型配置 ② ( consumerProguardFiles 配置 | debuggable 配置 | embedMicroApp配置 )

    混淆文件配置 ; 发布AAR中包含ProGuard规则文件。...配置 是 BuildType 中特有的配置 , 该值默认为 true ; BuildType#debuggable 配置设置 true , 则默认生成是可调式 apk 安装文件 ; BuildType...#debuggable 配置设置 false, 则生成 apk 文件安装运行后 , 无法对 debug 版本代码进行调试 ; boolean debuggable Whether this build...".jerry" // 默认为 true , 生成 debug apk 可调试 // 设置 false , 生成 debug apk 不可调试...BuildType#embedMicroApp 配置是 可穿戴设备应用使用配置 , 普通手机应用不用处理该配置 ; 是否应使用此构建类型将链接Android Wear应用嵌入变体中。

    1.6K20

    Android dependencies 基础知识

    概述 build:gradle2.x时代,我们进行第三方依赖时,会有一些尴尬问题。比如,我们制作了一个库,依赖了Glide2.0 。项目组集成我们库,同时也需要使用Glide4.0 。...所幸build:gradle3.x中,google我们提供了新依赖方式。 Dependency configurations api 替代了之前compile。...implementation 这个设置与compile类似,区别是当我们使用implementation时,我们其实希望不要将自制库第三方依赖泄露给项目方。...这个非常适用于,当我们自制库想要使用一些特定,普遍通用库时。 runtimeOnly 当使用runtimeOnly时,我们在编译期无法使用这个依赖,但却将它内容带进了包,运行时可以使用。...然后,我们接口层build.gradle中,我们加入: dependencies { ...

    2.7K20

    【Android Gradle 插件】BuildType 编译类型配置 ⑤ ( renderscriptDebuggable 配置 | shrinkResources 配置 )

    是否开启 渲染脚本 RenderScript 调试功能 , RenderScript 一般用于高性能计算 ; 是否将生成类型配置使用可调试RenderScript代码生成apk。.../2.3/com.android.build.gradle.internal.dsl.BuildType.html BuildType#shrinkResources 配置 用于设置 是否自动优化未使用资源..., 该配置生效前提是 BuildType#minifyEnabled 设置必须 true ; 是否启用了未使用资源缩减。...默认为 false; BuildType#minifyEnabled 配置 参考 【Android Gradle 插件】BuildType 编译类型配置 ④ ( minifyEnabled 配置 | multiDexEnabled...versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" applicationIdSuffix

    66810

    Android Gradle必备基础知识

    我最开始是被它多渠道打包所吸引。 简介 --- Gradle是以Groovy语言基础,面向Java应用为主。基于DSL(Domain Specific Language)语法自动化构建工具。...凭借GroovyDSL和创新打包方式,Gradle提供了一个可声明方式,并在合理默认值基础上描述所有类型构建Gradle目前已被选作许多开源项目的构建系统。...因为Gradle是基于DSL语法,如果想看到build.gradle文件中全部可以选项配置,可以看这里 DSL Reference 基本项目设置 --- 一个Gradle项目通过一个项目根目录中...最后,构建插件创建了所有build type(debug, release, test)类型安装和卸载任务,只要他们能被安装(需要签名)。...创建一个Library项目 Library项目和普通Android项目的区别比较少,由于libraries构建类型与应用程序构建不同,所有它会使用一个别的构建插件。

    83910

    史上最全Android build.gradle配置详解(小结)

    Android Studio是采用gradle构建项目的,gradle是基于groovy语言,如果只是用它构建普通Android项目的话,是可以不去学groovy。...2.2、compileSdkVersion:设置编译时用Android版本 2.3、buildToolsVersion:设置编译时使用构建工具版本,Android Studio3.0后去除此项配置...属性值被设置大于或等于该系统平台API版本时,才会生效。...通常在适配多个渠道时候,需要为特定渠道做部分特殊处理,比如设置不同包名、应用名等。...加上这句声明后,Gradle构建项目时会先检查一下本地是否已经缓存过该库,若没有缓存则自动联网下载,下载后自动添加到项目的构建路径中去。

    2.1K20

    【Android Gradle 插件】组件化中 Gradle 构建脚本实现 ⑤ ( 优化 Gradle 构建脚本 | 构建脚本结构 | 闭包定义及用法 | 依赖配置 | android 块配置 )

    Gradle 插件】组件化中 Gradle 构建脚本实现 ① ( 组件化简介 | 创建组件化应用 | 依赖库模块 / 应用模块 切换设置 ) 最后提到了 Gradle 构建脚本中 , 需要实现...| 切换插件导入 | 切换设置应用 ID ) 博客中实现了 模块化 与 组件化 切换 ; 【Android Gradle 插件】组件化中 Gradle 构建脚本实现 ③ ( Gradle...一、Gradle 构建脚本结构 ---- 工程根目录 中 , 创建 common.gradle 构建脚本 , 所有的 核心配置 都放置该脚本中 , 在所有的模块中 build.gradle 构建脚本..., 设置了依赖 ; 同时 模块中 build.gradle 构建脚本中 , 还可以 继续调用 dependencies 方法 , 设置依赖基础上 , 追加新依赖 , 如下脚本所示 : /*...插件】组件化中 Gradle 构建脚本实现 ③ ( Gradle 构建脚本中实现 AndroidManifest.xml 清单文件切换设置 ) 博客最终配置 ; 完整设置脚本 : /**

    1.4K21

    你该知道Gradle配置知识总结

    自定义编译配置 Android Studio gradle 插件方便我们以下几个方面配置我们编译选项: Build Types – 编译类型 编译类型,包括我们最熟悉 release 和 debug...两种类型,我们可以根据这两种类型定义出更多类型。...不管高优先级还是低优先级,如果其中一个没有设置该属性或者设置默认属性值,而另外一个设置了非默认属性值,则合并结果就是非默认属性值,项目编译后,可以查看 Manifest 合并记录,该文件目录...app/build.gradle 里面,defaultConfig minSdkVersion 15,但我变种版本(productFlavors 里 demo)里设置 minSdkVersion...7,最终 app Manifest minSdkVersion 就为7,再看 uisdk 里面的 build.gradle ,minSdkVersion 8,就是说 app 这个 module

    87110

    读书笔记--Android Gradle权威指南(下)前言笔记后记

    2.3.3 版本 Android Gradle 插件中,这个 id 指向 AppPlugin apply plugin 意思是当前项目的构建应用一个 Gradle 插件,至于应用哪个插件,...5.2 android {} 官方文档:http://google.github.io/android-gradle-dsl/current/ 不同项目构建时,所需配置可能不同,那么,设置这些配置项入口就在...applicationIdSuffix:配置包名后缀,使用场景通常是 debug 中配置,这样 debug 包和 release 包都可以安装在同一台设备上。...那么 build.gradle 中就可以结合这个方法,然后服务器上配置一个特定环境变量,当检查到当前打包环境服务器上时,就可以去触发这些本地开发过程中较耗时构建工作了,尤其打包服务器还可以将这些...执行:项目里应用了一个脚本插件时候,其实脚本里代码就被运行了,而 Gradle 有一个 task 概念,代码里是没办法直接触发某个 task 执行,但可以设置各个 task 之间前后依赖关系

    71430
    领券