1***@qq.com
1***@qq.com
  • 发布:2024-07-17 16:05
  • 更新:2024-12-05 09:45
  • 阅读:451

uniapp打包之后的apk名称

分类:uni-app

云打包之后生成的apk的名称,怎么改为自己想要的名称呢, 不想要 默认的 appid+时间戳,也不要右击重命名。
该怎么搞呢?官方求指教

2024-07-17 16:05 负责人:无 分享
已邀请:
套马杆的套子

套马杆的套子 - 没有解决不了的问题,只有解决不完的问题

之前也研究过,但是应该是不行,可能如果是自行改的话,官方那块怕重复吧

及时入坑

及时入坑

你有node,你啥实现不了,外部监听一下。

import chokidar from 'chokidar'  
import fs from 'fs'  
import path from 'path'  
import { fileURLToPath } from 'url'  
const __dirname = path.dirname(fileURLToPath(import.meta.url));  

// 发布版本  
const publishVersion = 'V241205'  

export const useWatch = (watchDir) => {  
    const watcher = chokidar.watch(watchDir, { ignoreInitial: true })  
    console.log('正在监听:', watchDir)  

    let renameFile = ''  
    watcher.on('add', (filepath) => {  
        console.log('add', filepath);  
        if (renameFile === filepath) {  
            return  
        }  
        const pathObj = path.parse(filepath)  
        if (filepath.endsWith('.apk')) {  
            // 获取配置信息,主要为了让名字有环境区分的概念  
            const data = fs.readFileSync(path.resolve(__dirname, '../your-app/static/js/config.js'))  
            const keyword = data.toString().split('export const').map(str => str.trim())[1]  
            const Env = keyword.split('=').map(str => str.trim())[1].replaceAll("'", "")  
            // 拿到当前环境  
            const targetEnv = Env || 'vite'  
            const files = fs.readdirSync(watchDir)  
            // 拼出app名称  
            const appName = `APP-${publishVersion}-${targetEnv}`  
            // 判断是否有重复的  
            const sameFiles = files.filter(name => name.includes(appName))  
            let sameFilesLen = sameFiles.length  

            let padEnd = ''  
            // 获取 appName_1、appName_2、appName_3  ...这样的名称  
            const getRenameFile = () => {  
                if (sameFilesLen) {  
                    padEnd = `_${sameFilesLen}`  
                }  
                const finalName = `${pathObj.dir}/${appName}${padEnd}.apk`  
                if (fs.existsSync(finalName)) {  
                    sameFilesLen++  
                    return getRenameFile()  
                }  
                return finalName  
            }  

            renameFile = getRenameFile()  
            // 重命名  
            fs.renameSync(filepath, renameFile)  
        }  
    })  
}  

useWatch(path.resolve(__dirname, '../your-app/unpackage/release/apk'))
DCloud_云服务_Mal

DCloud_云服务_Mal

目前还不支持apk名称自定义

AppleDev

AppleDev

想要修改云打包生成的APK名称,可以通过修改配置文件或构建脚本来实现。具体步骤如下:

修改配置文件:在项目中找到相关的构建配置文件(比如build.gradle),在其中找到生成APK的相关配置,通常会有一个outputFileName或类似的属性用于设置APK的名称,修改这个属性的数值为你想要的名称。

构建脚本:通过在构建过程中进行自定义操作来修改生成的APK名称。可以编写一个脚本,在构建完成后对生成的APK文件进行重命名操作,将其改为需要的名称。

无论采取哪种方法,都需要注意在修改名称后进行测试,确保生成的APK文件仍然可以正常使用。

要回复问题请先登录注册