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


    你也可以查看我的其他同类文章,也会让你有一定的收货!

    生成APK自动追加版本号

    可自动区分debug和release,并追加版本号:

    1. 打开 build.gradle

    2. 在 android 节点中插入下面代码

    第一种:

       applicationVariants.all{ variant->
            variant.outputs.each { output->
                def oldFile = output.outputFile
                def newName = '';
                if(variant.buildType.name.equals('release')){
                   // println(variant.productFlavors[0].name)    
                   // def releaseApkName = 'study-' + defaultConfig.versionName + '-luckpan.apk' 
                   def releaseApkName = defaultConfig.applicationId + "-" + buildType.name + "-" + defaultConfig.versionName + '.apk'
                    output.outputFile = new File(oldFile.parent, releaseApkName)
                }
                if(variant.buildType.name.equals('beta')){
                    newName = oldFile.name.replace(".apk", "-v" + getVersionNameFromManifest() + "-build" + getDate() + ".apk")
                    output.outputFile = new File(oldFile.parent, newName)
                }
                if(variant.buildType.name.equals('debug')){
    
                }
            }
        }

    第二种:

    把productFlavors名字和 buildType名字,打包到apk文件名中

    android.applicationVariants.all { variant ->
        variant.outputs.each { output ->
            output.outputFile = new File(output.outputFile.parent, 
            defaultConfig.applicationId + "-" + buildType.name + "-v" + 
            defaultConfig.versionName "-" + variant.productFlavors.name + "-" + defaultConfig.versionCode +            
            ".apk" );
        }
    }

     

    groovy语言执行的最后一行是返回值

    • 函数 getVersionNameFromManifest(),从manifest文件中读取的版本号

    • 版本号定义在build.gradle中,那defaultConfig.versionName就是你的版本号

  • 相关阅读:
    @jackychua博客
    c#类与对象
    SQL SERVER 触发器
    .NET平台及C#面向对象编程
    数据库设计指南【转】
    HTTP 协议是一种请求/响应型的协议
    各种字符编码方式详解及由来(ANSI,GB2312,GBK,Big5,UNICODE,UTF8,UTF16)
    常用协议端口 POP3,IMAP,SMTP,Telnet,HTTP,HTTPS
    asp.net Request.Form Request.para Request.Querystring 区别
    Gzipstream 解压问题
  • 原文地址:https://www.cnblogs.com/ldq2016/p/7838593.html
Copyright © 2020-2023  润新知