Android中的gradle的作用,简述Android中gradle的简单知识

本文详细介绍了如何使用Android Studio进行多渠道打包,并解决在为应用创建自定义名称时出现中括号的问题。通过调整Gradle脚本,实现了以产品风味名和版本号为APK命名,例如App_V1.0.0_baidu.apk。最终成功解决了命名问题,生成了正确的包名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android Studio 为多渠道执行自定义名称打包命令:

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

applicationVariants.all { variant ->

variant.outputs.each { output ->

def outputFile = output.outputFile

if (outputFile != null && outputFile.name.endsWith('.apk')) {

// 计划输出apk名称为App_V1.0.0_baidu.apk

def fileName = "App_V${variant.productFlavors.versionName}_${variant.productFlavors.name}.apk"

output.outputFile = new File(outputFile.parent, fileName)

}

}

}

下面是多渠道配置:

android {

productFlavors {

baidu {

applicationId "com.liujc.demo.baidu"

versionCode 1

versionName "1.0.0"

manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu",

APP_NAME : "app应用01", //app名称

]

buildConfigField "String", "API_APP_ID", "\"10001\""

}

xiaomi {

versionCode 2

versionName "1.0.1"

applicationId "com.liujc.demo.xiaomi"

manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi",

APP_NAME : "app应用02", //app名称

]

buildConfigField "String", "API_APP_ID", "\"10002\""

}

}

}

打包成功后你会发现包名为:App_V[1.0.0]_[baidu].apk ,这不是我想要的啊,怎么都多了个中括号呢,修改打包代码:

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

applicationVariants.all { variant ->

variant.outputs.each { output ->

def outputFile = output.outputFile

if (outputFile != null && outputFile.name.endsWith('.apk')) {

// 计划输出apk名称为App_V1.0.0_baidu.apk

def fileName = "App_V${variant.productFlavors[0].versionName}_${variant.productFlavors[0].name}.apk"

output.outputFile = new File(outputFile.parent, fileName)

}

}

}

再重新打包,成功后发现包名为:App_V1.0.0_baidu.apk OK了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值