Android Studio3.0 Gradle相关配置

基于Android Studio3.0
提供demo:https://github.com/hacjy/GradleConfigDemo

1、依赖库的统一管理配置
-创建config.gradle 关键字ext
-如何使用:首先,在工程的build.gradle中导入该配置文件:apply from:"config.gradle"
然后,使用rootProject对象调用,如rootProject.ext.android["compileSdkVersion"]。

2、生成签名打包
创建签名:Build->Generate Signed Apk,然后Create new keystore。
之后在app中的build.gradle中设置签名(必须设置在buildType之前

signingConfigs {
        release {
            storeFile file('D:/workspace/keystore.jks')
            keyAlias 'androidKeystore'
            keyPassword 'android'
            storePassword 'android'
        }
    }

当然不喜欢手动写的话,也可以设置自动生成:Project Structure->app->Signing添加一个签名即可
Generate Signed Apk这种方式生产的apk是放在app同级对应的release/debug目录下。当然,如果使用gradle的命令去打包,生成的apk是存放在app->build-output-apk目录下。

3、修改打包出的apk名称
studio3.0 gradle api有变动,具体请看:https://developer.android.google.cn/studio/build/gradle-plugin-3-0-0-migration.html#variant_api

具体代码如下:

android.applicationVariants.all { variant ->
        variant.outputs.all {
            //修改apk名称variant.name对应buildType.name
            outputFileName = "${variant.name}-${project.archivesBaseName}-

${variant.versionCode}-${variant.versionName}-${releaseTime()}.apk"
        }
    }

4、多渠道打包配置
-必须声明flavorDimensions:flavorDimensions("default")
studio提示:Error:All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html

-定义渠道名称

 flavorDimensions("default")
 productFlavors{
        xiaomi{dimension "default"}
        huawei{dimension "default"}
        baidu{dimension "default"}
    }
 productFlavors.all{
        flavor->flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE:name]
    }

5、通过buildTypes根据环境设置测试/生产环境地址

 buildTypes {
        debug{
            minifyEnabled false
            //配置api地址,在BuildConfig可以找到该字段
            buildConfigField ("String", "API_URL", "\"http://debug.com\"")
        }

        release {
            minifyEnabled true
            //配置api地址,在BuildConfig可以找到该字段
            buildConfigField("String","API_URL","\"http://release.com\"")
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-

rules.pro'
        }
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,351评论 25 709
  • 这一章主要针对项目中可以用到的一些实用功能来介绍Android Gradle,比如如何隐藏我们的证书文件,降低风险...
    acc8226阅读 7,741评论 3 25
  • Gradle配置最佳实践 本文会不定期更新,推荐watch下项目。如果喜欢请star,如果觉得有纰漏请提交issu...
    Solang阅读 1,688评论 0 4
  • 1.介绍 如果你正在查阅build.gradle文件的所有可选项,请点击这里进行查阅:DSL参考 1.1新构建系统...
    Chuckiefan阅读 12,224评论 8 72
  • 总是有人要赢,那么为什么不是我 我会成功的,一定会! 杨鹏飞,加油! ...
    我今年22岁阅读 90评论 0 0