持续创作,加速成长!这是我参与「日新计划 6 月更文挑战」的第9天,点击查看活动详情

Gradle 渠道包配置

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

基本任务

用gradle变量名的命名规则创建一个简单的输出脚本。

  • APP安卓项目的build.gradle中的android{}中添加以下脚本
task myTask{
        println 'this is my task'
    }
  • 点击Sync Now之后,在Termigradle是什么n产品al中运行
./gradlew myTask

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

常见任务

渠道包配置

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

如何操作:

  • 在app的build.gradle文件application的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"]
        }
    }

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

  • 相应的android是什么手机牌子让应用名称和应用图标生效,还需要在AndroidManifesgradle依赖冲突强制指定t.xml中添加“变量”
<application
        android:icon="${app_ico}"
        android:label="${app_name}"
        android:roundIcon="${app_ico}"
        >
  • 在android标appstore签内defaultConfig产品定位签下添加
flavorDimensions "XXX"

flgradle菜鸟教程avorDimensions比较特殊,有多维度的理解,产品批号是生产日期吗比如

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

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

为渠道添加动态变appreciate

添加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.android/harmonyosFLAVOR_NAME产品经理以进appearance行判断使用了。