修改Android Studio Build生成apk的默认名称

本文介绍了如何通过Gradle配置文件修改Android Studio打包时APK的默认名称,使其更直观便于管理。通过添加特定函数获取时间哈希值,并在Gradle文件中设置代码,可以将APK文件名改为如'com.demo.test_1.0.0.0_480550181-release.apk'的格式。

用Android Studio 打包App时生成的名称默认是 app-release.apk这样的名字
我这里使用Gradle 配置文件修改默认命名格式以更直观管理
我现在格式是这样的

我现在格式是这样的
包名_版本名称_生成时间的哈希-release|debug.apk
例如 com.demo.test_1.0.0.0_480550181-release.apk

实现的方法是在app的module里的build.gradle文件中,
先在android { ...}节点外面加上下面的函数 作用是返回时间的哈希值

def releaseTime() {
    return new Date().time.hashCode()
}

之后在android { ...}里面加上下面一段代码,即可修改生成类似上面的apk的文件名。

android.applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def outputFile = output.outputFile
            if (outputFile != null && outputFile.name.endsWith('.apk')) {
                //这里修改apk文件名
                def fileName = outputFile.name.replace("app","${defaultConfig.applicationId }_${defaultConfig.versionName}_${releaseTime() }")
                output.outputFile = new File(outputFile.parent, fileName)
            }
        }
    }

是不是这样就好很多了。

### 如何在 Android Studio生成 APK 包 #### 1. 打包未签名的 APK 文件 可以通过以下操作生成未签名的 APK 文件: - 在菜单栏中选择 `Build` -> `Build Bundle(s)/APK(s)` -> `Build APK(s)`[^2]。 - 完成构建后,生成APK 文件将会位于项目的 `app/build/outputs/apk/debug` 目录下[^4]。 需要注意的是,未签名的 APK 文件无法直接用于分发或安装到实际设备上。这类文件主要用于测试目的。 --- #### 2. 打包已签名的 APK 文件 以下是生成带签名的 APK 的具体步骤: ##### (1) 初始化签名过程 - 菜单栏中依次点击 `Build` -> `Generate Signed Bundle / APK`[^2]。 - 在弹出的窗口中选择 `APK` 并点击 `Next`。 ##### (2) 配置密钥库信息 - 如果已有密钥库,则选择 `Choose Existing`,并提供以下信息: - 密钥库路径 - 密钥库密码 - 密钥别名 - 密钥密码 - 若尚未创建密钥库,则选择 `Create New`,按照提示填写新密钥库的相关参数,包括但不限于有效期限和证书详情。 ##### (3) 设置目标构建变体 - 接下来指定要签名的构建变体(通常是 `Release` 版本)以及目标 APK 输出位置[^5]。 - 同时可以选择启用 V1 和 V2 签名机制以兼容不同版本的 Android 设备。 ##### (4) 开始构建 - 点击 `Finish` 后,Android Studio 将启动构建进程,并最终生成带有签名的 APK 文件。 - 成功完成后可通过通知面板定位至存储路径,默认为 `app/release` 目录[^2]。 --- #### 3. 使用 ProGuard 对 APK 进行混淆处理 为了增强应用程序的安全性和防止反编译攻击,建议激活 ProGuard 功能来进行代码混淆。此功能可在模块级 Gradle 文件 (`app/build.gradle`) 中配置如下字段实现: ```gradle android { buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } ``` 上述脚本片段启用了最小化模式(`minifyEnabled`)并将自定义规则链接到了项目结构之中[^3]。 --- #### 4. 总结注意事项 - **调试版 vs 发布版**: Debug 类型适合开发阶段频繁迭代;而 Release 则针对正式上线前经过充分优化后的产物[^5]。 - **签名版本选取**: 结合实际情况权衡选用单一或者双重认证方案(V1/V2),确保覆盖目标用户的全部操作系统环境。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值