Android Studio 自定义打包apk名字

手把手教你用LayaAir打包安卓APK LayaAir版本:1.7 jdk版本:jdk-12.0.1_windows-x64_bin地址链接PS:我本人是用的最新的jdk版本 sdk版本:24.1.1地址链接 Android Studio版本:android-studio-ide-182.5264788-windows地址链接 SDK配制环境:https://blog.youkuaiyun.com/zeternityyt/arti... 阅读详情

Android Studio打包的时候,我们想自定义自己的文件名,则可以使用

applicationVariants.all { variant ->
    variant.outputs.each { output ->
        def outputFile = output.outputFile
        if (outputFile != null && outputFile.name.endsWith('.apk')) {

            // apk_渠道名-版本号-版本名称-编译时间.apk
            def fileName = "apk_${variant.productFlavors[0].name}-${defaultConfig.versionCode}-${defaultConfig.versionName}-${releaseTime() }.apk"
            output.outputFile = new File(outputFile.parent, fileName)
        }
    }
}

其中releaseTime()如下:

def releaseTime() {
    return new Date().format("yyyyMMdd", TimeZone.getTimeZone("UTC"))
}


Sync Now之后,正常打包,打出来的文件名就会是我们想要的了
apk_渠道名-版本号-版本名称-编译时间.apk

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "24.0.0"

    defaultConfig {
        applicationId "app."
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 10 // 9
        versionName "1.2.4"
    }

    sourceSets {
        main {
            jniLibs.srcDirs = ['src/main/jniLibs']
        }
    }

    buildTypes {
        release {
            // 混淆
            minifyEnabled true
            // Zipalign优化
            zipAlignEnabled true
            // 移除无用的resource文件
            shrinkResources true
            // 前一部分代表系统默认的android程序的混淆文件,该文件已经包含了基本的混淆声明,后一个文件是自己的定义混淆文件
            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_渠道名-版本号-版本名称-编译时间.apk
                        def fileName = "apk_${variant.productFlavors[0].name}-${defaultConfig.versionCode}-${defaultConfig.versionName}-${releaseTime() }.apk"
                        output.outputFile = new File(outputFile.parent, fileName)
                    }
                }
            }
        }
    }

    productFlavors {
        qihu360 {} // 360手机助手
        yingyongbao {} // 腾讯应用宝
        wandoujia {} // 豌豆荚
//        baidu {} // 百度手机助手
//        miui {} // 小米
//        flyme {} // 魅族
//        lenovo {} // 联想-乐商店
//        oppo {} // Oppo-可可软件商店
//        huawei {} // 华为
//        vivo {} // vivo
//        hiapk {} // 安卓市场
//        sj91 {} // 91手机助手
//        sogou {} // 搜狗手机市场
//        sohu {} // 搜狐应用中心

//        taobao {} // 淘宝手机助手
//        gfan {} // 机锋
//        appchina {} // 应用汇
//        mumayi {} // 木蚂蚁
//        wangyi163 {} // 网易应用
//        nduoa {} // N多市场
//        mm10086 {} // MM商城-中国移动
//        wostore {} // WO商店
//        youyi {} // 优异
//        uc {} // UC+开发平台
//        anzhi {} // 安智市场
//        google {} // google play
//        amazon {} // 亚马逊

    }


    productFlavors.all {
        flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }

}

def releaseTime() {
    return new Date().format("yyyyMMdd", TimeZone.getTimeZone("UTC"))
}

MagicDraw小白必看:BDD图中模块的5种属性详解(含SysML v1.6最新端口配置指南) 本文面向MagicDraw初学者,详细解析SysML BDD图中模块的五种核心结构属性,包括组成部分、引用、值、约束属性及端口。重点阐述了SysML v1.6中端口设计的范式转移,对比了完整端口与代理端口的区别与应用场景,并通过实战案例指导如何利用代理端口进行清晰的接口定义与系统架构设计。 阅读详情

相关推荐

ELK 企业级日志分析系统(1)

ELK平台是一套完整的日志集中处理解决方案,将、Logstash和Kiabana三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。ElasticSearch:是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志。Elasticsearch 是用 Java 开发的,可通过 RESTful Web 接口,让用户可以通过浏览器与 Elasticsearch 通信。

云计算运维工程师的成长之路 1864

Android Studio APK打包指定包名

在最近写的一个案列中尝试用最新版的Android studio对项目进行打包测试,想要指定打包的包名这样便于区分的时候发现以前的许多方法都过时了,查了很多资料才弄明白each被抛弃了。本教程建议先看第三步。

qq_57930222的博客 2453

AMBA总线—APB总线协议详解

文章目录一、APB总线介绍1.1.什么是APB总线1.2.典型的基于 AMBA 总线的系统架构1.3.APB信号列表(重点)二、APB总线传输(时序)2.1.APB 状态机2.2.写操作(重要)2.3.读操作(重要)2.4.APB组件接口(重要)2.4.1.APB Bridge框图2.4.2.APB Slave框图三、APB到AHB的接口3.1.读操作3.2.写操作3.3.读写交替传送 一、APB...

Mr.翟的博客 4万+

Android Studio生成APK自动追加版本号、自定义apk名称、指定签名证书文件

参考:http://www.sollyu.com/android-apk-studio-generated-automatically-appends-a-version-number/http://www.th7.cn/Program/Android/201501/380594.shtml?WebShieldDRSessionVerify=SVUnBrv9lvKUzUH4e6nRhttp://bl

薛瑄的博客 9350

泛微Ecology流程数据表结构解析:workflow_requestbase和workflow_currentoperator到底怎么关联查询?

本文深入解析泛微Ecology系统中workflow_requestbase和workflow_currentoperator表的结构与关联机制,提供SQL查询语句示例,帮助开发者高效查询流程数据。涵盖待办事项、已办事项、办结事项和流程监控等典型场景,并分享性能优化技巧和常见问题排查指南。

weixin_33738555的博客 808

深入解析AUTOSAR中IIC的MCAL实现与Vector配置实践

本文深入解析AUTOSAR架构中IIC总线的MCAL实现与Vector配置实践,探讨IIC在汽车电子中的特殊定位及Vector的折中方案。通过Channel与Sequence设计模式、Chain特性应用及DaVinci Configurator配置步骤,提供IIC驱动的优化与安全实现方法,助力开发者高效解决车载通信问题。

weixin_29172963的博客 407

AndroidStudio修改生成的apk名称

使用 AndrodiStudio 编译生成的apk ,如果没有改动,命令一般为 app-debug.apk 或者 app-release.apk ,多个工程都是这个名称的话,不方便辨认。 AndroidStudio 修改默认生成的 apk 名称,只需要修改 app 的 build.gradle 即可, 在 android{ } 中添加如下: android.applicationVariants.all { variant -> variant.outputs.

weixin_44021334的博客 5253

用Simulink对Carsim车辆进行档位控制

用Simulink对Carsim车辆进行档位控制一、carsim中的档位设置为开环控制二、在Constant目录下面选取一个选项并重新命名为constant :0 Gear三、双击进去设置常量为 0四、输入和输出IO通道五、验证 :输入 为 3 档 ----- 输出 为 3!六、参考 一、carsim中的档位设置为开环控制 二、在Constant目录下面选取一个选项并重新命名为constant :0 Gear 三、双击进去设置常量为 0 四、输入和输出IO通道 五、验证 :输入 为 3 档 -

qq_42027654的博客 2601

Android Studio自定义Apk打包生成的名称

如果没有对生成的apk进行自定义,那么Android studio默认生成的apk的名字一般默认是app-debug.apk,app-release.apk,这样的命名实在是太没有辨识度了。打包好后还需要重新命名,不胜其烦啊! 自定义方法:在build.gradle中添加如下配置即可 android { compileSdkVersion 30 buildToolsVersion "30.0.3" ...... android.applicationVariants.a

DerMing_You的博客 6157

【异常】OpenClaw LLM Request Timeout 超时问题的快速定位与落地解决

摘要:OpenClaw系统在执行任务时频繁出现"LLM request timed out"异常。通过分析发现主模型自动调度导致响应延迟,且缺乏超时配置兜底。解决方案包括:1)将主模型切换为低延迟的豆包2.0 Lite;2)保留豆包2.0 Pro和Kimi作为备用;3)重启Gateway服务验证。优化后系统响应速度显著提升,未再出现超时异常。后续建议增加显式超时配置、优化任务拆分和Prompt指令,并建立网络监控机制。(148字)

奶爸的编程之路,也就一周冷个三天 1159

Python爬虫教程:抓取Android或iOS应用中的数据

随着智能手机的普及,移动应用程序已经成为我们生活中不可或缺的一部分。从社交媒体、在线购物到金融服务和健康管理,几乎所有领域都有相应的手机应用程序(App)服务用户。而这些应用程序通常会存储大量的数据,例如用户行为、产品信息、订单记录等。如果我们能有效地抓取这些数据,可以为数据分析、商业智能、用户行为分析等提供有力支持。本文将重点介绍如何使用Python爬虫技术抓取Android或iOS应用中的数据,尤其是如何从这些应用的后端接口、存储、或网页中提取数据。我们将探讨如何通过反向工程技术访问移动应用中的API接

2201_76125261的博客 801

android 自定义apk名,Android Studio 打包自定义apk文件名

使用Android Studio打包的时候,我们有时候需要自定义apk的文件名,在此记录一下。在app的build.gradle中,根节点下使用关键词def声明一个全局变量,用于获取打包的时间,格式可自定义,如下所示:然后,在android节点中添加以下代码,注意:Gradle 3.0.0之前和3.0.0之后的做法是不一样的!这样设置好了,打包出来的apk文件名就是:t8app_2.0.6_171...

weixin_42202595的博客 1298

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

android studio自定义修改应用打包的apk文件的名字

平时开发都知道,我们要上线的时候需要在Android studio打包apk文件,可是默认的打包名是app-release.apk或者app-debug.apk这样的名字。但是产品经理想留下历史版本,所以我们需要自定义apk的名字。 gradle 3.0以下的版本: gradle的版本可以到工程下的build.gradle查看: 我的是 classpath 'com.android.too...

sunbinkang的博客 9217

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Android studio自定义打包apk名字

在app下面的build.gradle文件中,添加如下代码即可,如图: studio3.0以前,添加: applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = ou...

jin_pan的博客 4498

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Android Studio 自定义打包出来的apk名字

build.gradle中增加以下配置。例如:输出的APK名字是。

Venus 的博客 877

Android Studio在打包时自定义apk名字

如题,Android项目在打包的时候自定义apk的名称。 在android的大括号下添加如下代码: applicationVariants.all { variant -> variant.outputs.all { outputFileName = "appName_${defaultConfig.versionName}_${rel...

LayneYao的博客 1473

android多渠道打包定义名字,Android Studio多渠道打包、自定义打包APK名称

现在为了推广产品,会在多个渠道应用市场发布应用,为了统计不同渠道的数据,需要在应用中表明渠道,如果一个一个去修改打包效率会很低。AS为我们提供了简便的方法,可以多渠道打包,一次打包所有的渠道包。1. AS 2.x多渠道打包(1) AndroidManifest中增加节点...android:name="UMENG_CHANNEL"android:value="${UMENG_CHANNEL_VAL...

weixin_35070219的博客 567

android 自定义apk名,Android studio自定义打包apk名字

在app下面的build.gradle文件中,添加如下代码即可,如图: studio3.0以前,添加:applicationVariants.all { variant ->variant.outputs.each { output ->def outputFile = output.outputFileif (outputFile != null && outputF...

weixin_33925126的博客 315

Android Studio 打包APK

做Android开发肯定对APK不陌生,你现在Android手机上所有的应用都是apk,只不过分为系统自带和第三方。修改app下的build.gradle// 自定义打包名称 android . applicationVariants . all {123456添加位置如下图所示,在android{}闭包中添加后记得Sync一下,然后重新打一个包,这里我将打包的路径修改到了D盘,如下图所示点击Finish完后打包。包的确是生成了,名字也不再是app-release.apk。

syfyyds12138的博客 818

android studio 自定义打包(apk)名称

在你的build.gradle中的android{}下加入如下代码 //配置自定义打包名称 applicationVariants.all { variant -> variant.outputs.all { def fileName if (variant.buildType.name.equals('releas...

花花世界的博客 694

Android apk文件打包自定义命名

在Android Studio中打包生成的APK和aar文件基本上都是module名称+构建类型,常见的都是和这种样式的。显然没有版本号等序号标识的话,管理起来会比较混乱,基于此种情况,我们可以通过修改文件中的配置来修改生成包的文件名以做区分。

cat_is_so_cute的博客 4134

Android Stdio 如何自定义生成APK的名称

Android Stdio自动默认生成的app的名称都是app-release或者app-debug,生成完后还要手动更改apk的名称,很是麻烦。 自定义生成APK的名称的方法:在\app\build.gradle这个文件里添加如下内容 apply plugin: 'com.android.application' def getTime() { r...

a6222848的博客 203

android studio 3.0之后版本自定义文件名生成apk文件

修改app模块的build.gradle 在android闭包中添加以下代码 //指定打包后应用名称 android.applicationVariants.all { variant -> variant.outputs.all { outputFileName = "权限申请示例_${defaultConfig.versionNa...

weixin_34205076的博客 273

Android Studio 打包APK(详细版)

Android Studio 打包APK前言正文总结 前言   做Android开发肯定对APK不陌生,你现在Android手机上所有的应用都是apk,只不过分为系统自带和第三方。 正文   Android打包APK在开发中是必不可少的一个环节,相信你可能已经会了,或者在别的博客中看到过了,但是其实还有一些细节是你所不知道的。 总结 ...

晨曦 22万+
上一篇: android 开源的各种三方库 看源社区
下一篇: JNI DETECTED ERROR IN APPLICATION 解决记录
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值