关于gradle使用技巧

关于gradle 的简单使用小技巧,或注意点。 本文章将记录下自己知道的。并会持续更新。

如有错误或遗漏, 请留言批评

导入.9图片报错

aaptOptions.cruncherEnabled =false

aaptOptions.useNewCruncher =false

defaultConfig{

    ndk {

        //选择要添加的对应cpu类型的.so库。一般如果使用了第三方依赖,仅配置 armeabi 即可

        //如果使用 使用模拟器进行调试, 记得添加上 x86  架构

        abiFilters     'armeabi'  

        // 还可以添加 'x86', 'x86_64', 'mips', 'mips64', 'armeabi-v7a', 'arm64-v8a'

    }

    //最大方法数超过限制时, 需要配置上这个方法, 对classdes.dex 进行分包。 

    //添加上依赖 com.android.support:multidex:1.0.1     在使用Application 类里调用 MultiDex.install(context); 使5.0 以下的手机可以兼容

    multiDexEnabled =true

    //如果你的应用不需要支持国际化,那么可以设置 resConfigs 为 “zh”,”en”,即只支持中英文

    resConfigs    "zh","en“

}

signingConfigs{

    debug {

            //可以设置debug包 使用的固定一个测试签名 。 也可以在

            storeFile file("C:\\file\\debug.KEYSTORE")

    }

   release {

        //设置签名文件信息 ../  即项目根目录下的位置  ,  本配置需要在buildTypes里配合使用

        storeFile file("../sigin.jks")

        storePassword   "password"

        keyAlias    "alias"

        keyPassword    "keyPassword"

    }

}

//注意点: 需要配置在 signingConfigs  下面,否则会报错

//作用:用来配置多渠道打包,里面可以添加一个特别的信息渠道信息

//当前这个来设置你在debug时使用的默认配置

productFlavors {

    yingyongbao  {

        // 参数1: 数据类型, 参数2: 变量名  参数3: 变量内容   如果是String 类型  写法 '" VAULE"'

        //代码里使用的话  BuildConfig.LOGSHOW   , 使用包名目录下的  包

        buildConfigField    "boolean","LOGSHOW","true"

        //这个方法是在AndroidManifest.xml  里 直接用占位符  ${key}

        manifestPlaceholders =[

                  "key"="value"

        ]


    }

    xiaomimarket {}

    wandoujiamarket{}

}

buildTypes {

    debug {

    }

    release{

        //开启代码混淆

        minifyEnabled true

        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        //Zipalign优xx化

        zipAlignEnabledtrue

        //用 app 目录下的gradle 工具打包时, 设置 签名内容

        signingConfig signingConfigs.release

        //app 设置app打包后在名字

        applicationVariants.all { variant ->

            variant.outputs.each { output ->

                def outputFile = output.outputFile

                if (variant.buildType.name.equals('release')) {

                //生成apk名字的格式:app_1.0.0_2016-06-22_baidu.apk

                //可自定义自己想要生成的格式

                 def fileName                                ="app_${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"

                output.outputFile =new File(outputFile.parent, fileName)

                }

            }

         }

    }

}

android studio 打包脚本

你可能感兴趣的:(关于gradle使用技巧)