这篇文章主要介绍了关于Android程序的多渠道打包方法,还不会的同学快进来学习下吧,建议收藏以防迷路
Android 多渠道打包看这一篇就够了
本文三个流程
一、多渠道配置
1、多渠道配置
2、不同渠道不同签名配置
3、不同渠道不同资源文件配置
4、不同渠道不同依赖配置
二、注意事项
三、打包
1、命令行打包
2、IDE 打包
多渠道配置(2 种方式)
1、可写在主模块(app)的 build.gradle 下
android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
defaultConfig {
applicationId "com.test.moduledemo"
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"
}
flavorDimensions "versionCode"
productFlavors {
xiaomi{
applicationId = “com.test.xiaomi"
//不同渠道配置不同参数
buildConfigField "int", "TEST_VALUE", "1"
buildConfigField "String", "TEST_NAME", "\"xiaomi\""
}
huawei{
applicationId = "com.test.huawei"
//不同渠道配置不同参数
buildConfigField "int", "TEST_VALUE", "2"
buildConfigField "String", "TEST_NAME", "\"huawei\""
}
productFlavors.all {//遍历productFlavors多渠道,设置渠道号(xiaomi 、huawei)
flavor -> flavor.manifestPlaceholders.put("CHANNEL", name)
}
}
applicationVariants.all { variant ->
// 打包完成后输出路径
def name = ((project.name != "app") ? project.name : rootProject.name.replace(" ", "")) +
"_" + variant.flavorName +
"_" + variant.buildType.name +
"_" + variant.versionName +
"_" + new Date().format('yyyyMMddhhmm') + ".apk"
//相对路径app/build/outputs/apk/huawei/release/
def path = "../../../../../apk/" //相当于路径 app/apk/
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
//指定路径输出
output.outputFileName = new File(path, name)
}
}
// 在打包完成后还可以做一些别的操作,可以复制到指定目录,或者移动文件到指定目录
variant.assemble.doLast {
File out = new File(“${project.rootDir}/apk”)
variant.outputs.forEach { file ->
//复制apk到指定文件夹
//copy {
// from file.outputFile
// into out
/
沃梦达教程
本文标题为:关于Android多渠道打包问题看这一篇就够了
猜你喜欢
- 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
- Flutter实现底部和顶部导航栏 2022-08-31
- iOS 对当前webView进行截屏的方法 2023-03-01
- 详解flutter engine 那些没被释放的东西 2022-12-04
- Android studio实现动态背景页面 2023-05-23
- 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14
- Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
- Android实现监听音量的变化 2023-03-30
- SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
- Android实现轮询的三种方式 2023-02-17
