美文网首页AndroidAndroid知识Android Class
Android Studio修改打包输出apk文件名

Android Studio修改打包输出apk文件名

作者: Zach_C | 来源:发表于2016-08-10 15:05 被阅读6477次
    name.png

    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之后,正常打包,打出来的文件名就会是我们想要的了
    <u>apk_渠道名-版本号-版本名称-编译时间.apk</u>

    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"))
    }
    
    

    相关文章

      网友评论

      本文标题:Android Studio修改打包输出apk文件名

      本文链接:https://www.haomeiwen.com/subject/vykjsttx.html