Gradle 渠道包配置

Gradle 渠道包配置

安卓项目中默认使用gradle作为构建工具,gradle默认提供了很多Task,开发者也可以自己新建Task构建脚本,让打包、开发达到事半功倍的效果。这篇文章主要讲解安卓项目中常见的打包脚本。

基本任务

用gradle创建一个简单的输出脚本。

  • 在安卓项目的build.gradle中的android{}中添加以下脚本
task myTask{
        println 'this is my task'
    }

  • 点击Sync Now之后,在Terminal中运行
./gradlew myTask


就可以打印出’this is my task’,不仅仅是使用命令,也可以在开发工具AndroidStuido右侧的Gradle中找到Task -> Other -> myTask,点击运行也是一样的效果。

常见任务

渠道包配置

同一套代码可以打包出多个应用程序,它们的包名不同、图标不同、应用名称不同,这样就可以一个手机上共存多个应用程序。

如何操作:

  • 在app的build.gradle文件的android{}标签内
productFlavors {
        // 产品版本1
        product1 {
            applicationId "com.android.application1"
            manifestPlaceholders = [app_name:"产品1", app_ico: "@mipmap/ico1"]
        }
        // 产品版本2
        product2 {
            applicationId "com.android.application2"
            manifestPlaceholders = [app_name:"产品2", app_ico: "@mipmap/ico2"]
        }
        // 产品版本3
        product3 {
            applicationId "com.android.application3"
            manifestPlaceholders = [app_name:"产品3", app_ico: "@mipmap/ico3"]
        }
    }

product1、product2、product3是指不同的版本,applicationId对应的包名,manifestPlaceholders中的app_nameapp_ico代表的是应用名称和应用图标。

  • 相应的让应用名称和应用图标生效,还需要在AndroidManifest.xml中添加“变量”
<application
        android:icon="${app_ico}"
        android:label="${app_name}"
        android:roundIcon="${app_ico}"
        >

  • 在android标签内defaultConfig标签下添加
flavorDimensions "XXX"

flavorDimensions比较特殊,有多维度的理解,比如

A公司的A渠道产品,A公司的B渠道产品,B公司的A渠道产品,B公司的B渠道产品

详细了解可以看这篇文章flavorDimensions

为渠道添加动态变量

添加buildConfigField的内容

productFlavors {
        // 产品版本1
        product1 {
            applicationId "com.android.application1"
            manifestPlaceholders = [app_name:"产品1", app_ico: "@mipmap/ico1"]
            buildConfigField "String","FLAVOR_NAME","\"product111\""
        }
        // 产品版本2
        product2 {
            applicationId "com.android.application2"
            manifestPlaceholders = [app_name:"产品2", app_ico: "@mipmap/ico2"]
            buildConfigField "String","FLAVOR_NAME","\"product222\""
        }
        // 产品版本3
        product3 {
            applicationId "com.android.application3"
            manifestPlaceholders = [app_name:"产品3", app_ico: "@mipmap/ico3"]
            buildConfigField "String","FLAVOR_NAME","\"product333\""
        }
    }

添加完成之后Rebuild Project,然后在Activity中就使用BuildConfig.FLAVOR_NAME可以进行判断使用了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 开发中,Gradle 是一个非常重要的构建工具,可以用来构建和打 Android 应用程序。Gradle 插件是一种工具,可以扩展 Gradle 的功能,使其能够支持更多的功能。而多渠道Android 应用程序开发中非常重要的一个方面,它可以让我们将应用程序打成不同的版本,并发布到不同的应用商店或市场上。 在 Android Studio 中,我们可以通过自定义 Gradle 插件来实现多渠道,具体步骤如下: 1. 创建 Gradle 插件项目 在 Android Studio 中创建一个新项目,选择 Gradle 插件项目模板。这将创建一个 Gradle 插件项目,并生成一些默认的代码和文件。 2. 实现多渠道 在插件项目中,我们需要实现多渠道的功能。这可以通过 GradleproductFlavorsbuildTypes 配置来实现。我们可以定义多个 productFlavors,并为每个 productFlavor 配置不同的参数,例如应用程序的名、应用程序名称等。在 buildTypes 中,我们可以为每个 buildType 配置不同的参数,例如应用程序的版本号、是否开启混淆等。 3. 打应用程序 在插件项目中,我们可以编写一个 Gradle 任务来实现应用程序的打。这个任务可以使用 Gradle 提供的 assemble 任务来实现。我们可以为每个 productFlavor 和 buildType 配置不同的打参数,并使用 Gradle 的 assemble 任务来生成应用程序的 APK 文件。 4. 发布应用程序 在插件项目中,我们可以编写一个 Gradle 任务来实现应用程序的发布。这个任务可以使用 Gradle 提供的 uploadArchives 任务来实现。我们可以为每个 productFlavor 和 buildType 配置不同的发布参数,并使用 Gradle 的 uploadArchives 任务将应用程序发布到不同的应用商店或市场上。 总的来说,自定义 Gradle 插件多渠道Android 应用程序开发中非常重要的一个方面。通过自定义 Gradle 插件,我们可以实现更加灵活和高效的应用程序打和发布。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值