gradle修改apk包名和apk文件名

需求1:根据渠道不同给包名添加不同的后缀名

方案:

复制代码
//先定义默认包名,用来复用
def packageName = "xxx.xxxx.xxxx"

defaultConfig {
    applicationId packageName
    ...
}

productFlavors {
    aibei {}
    google {}
    pure {}
    qiji {}
    anzhi { applicationId packageName + ".anzhi" }
    baidu { applicationId packageName + ".bd" }
    coolpad { applicationId packageName + ".coolpad" }
    cps {}
    gionee { applicationId packageName + ".jinli" }
    huawei { applicationId packageName + ".HUAWEI" }
    lenovo { applicationId packageName + ".lenovo" }
    m4399 { applicationId packageName + ".m4399" }
    meizu { applicationId packageName + ".mz" }
    oppo { applicationId packageName + ".nearme.gamecenter" }
    qihoo360 {}
    samsung { applicationId packageName + ".samsung" }
    tencent {}
    uc { applicationId packageName + ".uc" }
    vivo { applicationId packageName + ".vivo" }
    xiaomi {}
    yunos {}
}
复制代码

打出apk后使用命令检查是否修改包名成功

aapt dump badging xx.apk | findstr package
//将xx.apk替换掉

结果如下

修改成功

需求2:修改生成的apk文件名

复制代码
release {
    minifyEnabled false
    signingConfig signingConfigs.release
    buildConfigField("boolean", "RC", "false")
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            //talkingtomadventure-uc-b102-v1.1.1(b后面为打包号)
            output.outputFile = new File(output.outputFile.parent, output.outputFile.name.replace("release", "b001-v" + versionName + "-release"))
        }
    }
}
复制代码

修改replace里面的内容即可

欢迎关注我的微信公众号:安卓圈

posted @   嘉禾世兴  阅读(359)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示