android studio

AS User Guide

代码自动完成

导航

样式和格式化

构建系统

library

工具属性

代码模板 Live Templates

静态分析

Vector Asset Studio图像像素变换

Translations Editor

instant run

多渠道打包


//渠道信息     AndroidManifest.xml
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />


//设置productFlavors  build.gradle
productFlavors {
     wandoujia {
          manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
     }
  
     xiaomi{
          manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
     }
  
     qq {
          manifestPlaceholders = [UMENG_CHANNEL_VALUE: "qq"]
     }
  
     _360 {
          manifestPlaceholders = [UMENG_CHANNEL_VALUE: "360"]
     }
  
}
//or
android { 
    productFlavors {
        wandoujia{}
        xiaomi{}
        qq{}
        _360 {}
    } 

    productFlavors.all { 
        flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] 
        }
}


//签名        build.gradle
signingConfigs{
     release {
          storeFile file("keystore路径")
          storePassword "***"
          keyAlias "***"
          keyPassword "***"
     }
}

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


//生成      Terminal , cmd
gradle assembleRelease

//根据渠道自定义apk的名称
android {

    applicationVariants.all { variant ->

        variant.outputs.each { output ->

            output.outputFile = new File(

                    output.outputFile.parent,

                    "xxxx(apk的名字)-${variant.buildType.name}-${defaultConfig.versionName}-${variant.productFlavors[0].name}.apk".toLowerCase())

        }

    }

}