Android:将日期/时间添加到 gradle 输出 apk 文件名

2024-07-03

如何将日期/时间戳添加到 Gradle Android 输出文件名?

应该像project_v0.5.0_201503110212_public.apk

已经看过了

  • 如何将日期构建附加到 gradle 上的 versionNameSuffix https://stackoverflow.com/questions/19172565/how-append-date-build-to-versionnamesuffix-on-gradle
  • 如何将参数从命令行传递到 gradle https://stackoverflow.com/questions/11696521/how-to-pass-arguments-from-command-line-to-gradle

我假设您希望它采用指定的格式,因此这是一种可能的解决方案。

在你的 gradle 文件中,你可以定义一个新函数来获取你想要的日期时间字符串:

import java.text.DateFormat
import java.text.SimpleDateFormat

def getDateTime() {
    DateFormat df = new SimpleDateFormat("yyyyMMddHHmm");

    return df.format(new Date());
}

然后对于所有变体,您可以简单地运行以下命令:

android {
    //...
  buildTypes {
    //...
    android.applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def file = output.outputFile
            output.outputFile = new File(file.parent, file.name.replace(".apk", "-" + getDateTime() + ".apk"))
        }
    }
  }
}

请注意,这并不像您发布的那样真正输出 apk 名称,但我想这足以帮助您。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android:将日期/时间添加到 gradle 输出 apk 文件名 的相关文章

  • JAVA 上的 TCP 套接字 - 任何 >= 128 的字节都会被接收为 65533

    我正在 Android 上实现一个服务器 我正在使用 while Thread currentThread isInterrupted try int r String response while r input read gt 0 我有
  • Firebase 数据库崩溃 SQLiteDatabaseLockedException

    我在少数设备上遇到此崩溃 但仅限于 Android 4 我使用的是 Firebase Android SDK 10 2 1 11 0 2 推迟更新到最新版本 因为它也会强制更新 Google Play 服务 并且许多用户继续保留旧的 GPS
  • New Relic Android 代理在 gradle 时出现错误

    我有一个使用 gradle 构建系统的项目 我愿意向其中添加 New Relic 监控 该项目 包括 New Relic 在 Linux Fedora 20 上运行良好 但无法在我的 Mac 开发系统上构建 并给出错误说明Agent JAR
  • 如何处理单个 Activity 的多个 Fragment

    我最近开始考虑为我的 Android 设备开发应用程序 我产生这种兴趣的原因是我在玩几个arduinos时想到了一个好主意 让它们与我的手机进行通信 就像我在arduino本身上测量的任何值的接口一样 现在 我可以采取简单的方法并使用公共资
  • Android CardView 不适用于 Api 21

    我正在使用安卓CardView它在 Api 21 下完美运行 但是当我在 Api 21 即 Lollipop 上使用它时 XML 属性如下cardElevation cornerRadius不起作用 我究竟做错了什么 这是我的 XML 布局
  • Android Studio 设计预览是像素化的

    我的 android studio 设计预览很模糊 文本以及小部件 我尝试通过执行以下操作来修复它 Android Studio 属性 gt 兼容性 gt 更改高 DPI 设置 gt 覆盖高 DPI 我关闭了 android studio
  • 禁用 ListView 上的波纹

    在 Android 5 0 中 我的 ListView 在单击列表项时会产生连锁反应 有没有办法禁用这个效果 查看文档 我没有看到任何方法 https developer android com reference android widg
  • Y'UV420p(和 Y'V12 或 YV12)到 RGB888 转换

    我正在尝试在 android 中显示 yuv 视频文件 我有一些正在使用的 yuv 视频文件 该视频yuv文件video1 https www dropbox com s wjofvdf9k9bglhx rawData1 yuv dl 0
  • 如何确定Android设备的安全补丁级别?

    如何使用 API 或其他机制确定 Android 设备的安全补丁级别 我正在寻找相同的安全补丁信息 可以通过单击手动找到Settings gt About设备上的菜单 例如 谷歌每月都会发布安全补丁2016 12 01 https sour
  • RecyclerView 仅显示 Firebase 中的一项

    我知道关于这个问题的疑问很少 但他们都没有解决我的问题 特别是我的代码是用 Kotlin 编写的 并且是新的Fragments 不要急于说我的问题是重复的 我的问题正是标题所说的 我的RecyclerView仅填充了来自的一项 子项 Fir
  • 新项目应该使用哪个 Android Camera API?

    我正在开发一个新的应用程序 我想一直支持果冻豆 冰淇淋三明治 我需要在我的应用程序中使用摄像机 只是拍摄一些 15 秒的镜头 无需处理 我是否必须编写两个相机活动 一个使用相机 api 另一个使用camera2 api 并以某种方式根据设备
  • Android 使用 gradle 实验性链接不满意 v0.6.0-beta6

    我试图创建一个简单的项目来测试 NDK 其中 jnilib 使用预构建的 so 库 但我不断收到 UnsatisfiedLinkerror 使用模拟器 java lang UnsatisfiedLinkError dlopen failed
  • HTC Desire 上的 EGLConfig,可用配置挂起设备

    我正在实施我自己的EGLConfigChooser传递给setEGLConfigChooser 为了根据我对应用程序的需求为当前设备选择最佳的可用配置 更具体地说 我正在查询所有可用的配置并选择具有最大深度缓冲区大小的配置 在具有相同深度缓
  • 在Android中单击按钮后使布局出现动画

    我正在尝试为登录屏幕实现一个简单的动画效果 这是场景 1 默认情况下将显示一些文本和登录按钮 2 单击登录按钮后 将从下到上出现一个新的框架布局 此布局将提示用户输入用户名和密码 我可以制作一个动画 该动画将从一个父级覆盖到另一个父级 在这
  • Android:可以在同一任务中启动一个活动的多个实例吗?

    我尝试使用此代码从父活动启动多个活动 for int i 0 i
  • Android onBackPressed() 没有被调用?

    在我的 MainActivity 从 AppCompatActivity 扩展 中 我想重写 onBackPressed 方法 如下所示 Override public void onBackPressed Log d MainActivi
  • 在 TextInputLayout 中显示密码图标触及基线

    I had some problem with my show password icon in TextInputLayout with android inputType textPassword Right now it is sho
  • 使用 v8::Locker 的正确方法是什么?为什么必须使用它?

    我正在尝试使用 NDK 将 v8 嵌入到 Android 应用程序中 我有一个看起来像这样的 JNI 模块 未显示 JNI 映射代码 include
  • android finish() 方法不会从内存中清除应用程序

    我有一个活动 我调用 finish 方法 但该活动没有从内存中清除 调用 finish 后 我看到 onDestroy 方法已成功执行 并且我清除了其中的所有变量和内容 应该从内存中清除它还是android的工作方式 据我了解 活动的生命周
  • 在模拟器中实施应用内结算

    我一直在阅读有关 Android 应用程序的 实施应用内计费 的内容 并且文档说不可能在模拟器中测试该应用程序 真的吗 我正在开发的手机没有 移动数据计划 因此我尝试通过 USB 通过 PC 连接手机 但由于我的 PC 位于代理后面 因此我

随机推荐