AndroidStudio 使用Gradle多环境多渠道打包-方法1

1.配置 productFlavors

productFlavors {
        _dev {//开发环境
            applicationId "com.demo.video.dev"
            //设置baseUrl 使用方法Application.getContext().getResources().getString(R.string.API_SERVER)
            resValue "string","API_SERVER","www.baidu.dev.com"
            manifestPlaceholders = [app_name: "U视频_dev"]
        }

        _test {//测试环境
            applicationId "com.demo.video.test"
            resValue "string","API_SERVER","www.baidu.test.com"
            manifestPlaceholders = [app_name: "U视频_test"]

        }

        _prod {//正式环境
            applicationId "com.demo.video"
            resValue "string","API_SERVER","www.baidu.com"
            manifestPlaceholders = [app_name: "U视频"]
        }
    }

2.配置APK输入路径 (可配置或者不配置 默认在build/outputs下)

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.config
            debuggable false
        }

        debug {
            minifyEnabled false
            signingConfig signingConfigs.config
            debuggable true
        }

        //打包输出
        applicationVariants.all { variant ->
            def fileName
            def buildName
            variant.outputs.each { output ->
                def outputFile = output.outputFile
                variant.productFlavors.each { product ->
                    buildName = product.name //获取渠道名字
                }

                if (outputFile != null && outputFile.name.endsWith('.apk')) {
                    //打包后的apk名称 : UVideo_V1.0_test_0808_1109.apk
                    fileName = "UVideo_V${defaultConfig.versionName}" + buildName + "_" + createDate() + ".apk"
                    output.outputFile = new File("apk" + '/', fileName)

                }
            }
        }
    }

//获取时间的方法
def createDate() {
    return new Date().format("MMdd_HHmm", TimeZone.getTimeZone("GMT+8"))
}

3.打包

使用AndroidStudio可在Terminal下输入./gradlew assembleRelease
或者输入对应的./gradlew assemble_dev
也可在右侧Gradle中选中要打包的版本执行

4.安装/测试应用

1.使用ADB
可在终端下输入 adb install apk路径
即可
2.使用Gradle
在右侧Gradle下选择install目录下对应的版本运行即可
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,837评论 18 139
  • 1.介绍 如果你正在查阅build.gradle文件的所有可选项,请点击这里进行查阅:DSL参考 1.1新构建系统...
    Chuckiefan阅读 12,166评论 8 72
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,833评论 25 708
  • 转载注明出处:http://www.jianshu.com/p/5255b100930e 0. 前言 完全由个人翻...
    王三的猫阿德阅读 2,553评论 0 4
  • 我是一个高中生,典型的三好学生,成绩保持在全年级前三,保底考最差也能读个复旦。 爸妈总喜欢在别人口中提起我,脸上洋...
    黄乐乐呀阅读 536评论 4 6