dependencies {
compile 'com.umeng.analytics:analytics:latest.integration'
}
allprojects {
repositories {
mavenCentral()
}
}
<manifest……>
<uses-sdk android:minSdkVersion="8"></uses-sdk>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<application ……>
……
<activity ……/>
<meta-data android:value="YOUR_APP_KEY" android:name="UMENG_APPKEY"/>
<meta-data android:value="${UMENG_CHANNEL_VALUE}" android:name="UMENG_CHANNEL"/>
</application>
</manifest>
defaultConfig {
...
multiDexEnabled true // 突破方法数65535限制
manifestPlaceholders = [UMENG_CHANNEL_VALUE:"umeng"]
}
// 配置签名文件
signingConfigs {
debug {}
release {
keyAlias 'key0'
keyPassword '123456'
storeFile file('commom.jks')
storePassword '123456'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
productFlavors {
xiaomi{
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
}
wandoujia{
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
}
}
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
//指定我们release包输出文件名就是我们渠道的名字
applicationVariants.all { variant ->
variant.outputs.each{ output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith(".apk")) {
def fileName = "${variant.productFlavors[0].name}"+".apk"
output.outputFile = new File(outputFile.parent, fileName);
}
}
}
}
}
productFlavors {
xiaomi{
// manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
resValue "string", "app_name", "xiaomi"
}
wandoujia{
// manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
resValue "string", "app_name", "wandoujia"
}
}
productFlavors {
// xiaomi{
//// manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
// resValue "string", "app_name", "xiaomi"
// }
//
// wandoujia{
//// manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
// resValue "string", "app_name", "wandoujia"
// }
okhttp {
applicationIdSuffix "okhttp"
resValue "string", "app_name", "okhttp"
}
jpush {
applicationIdSuffix "jpush"
resValue "string", "app_name", "jpush"
}
}
// Android Studio3.0以后的写法
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "${variant.productFlavors[0].name}.apk"
}
}
flavorDimensions "color"
android { ...
defaultConfig { ...
manifestPlaceholders = [ UMENG_CHANNEL_VALUE:"default_channel" ] }
productFlavors {
default_channel{}
wandoujia{}
_360{}
yingyongbao{}
xiaomi{}
baidu{}
huawei{}
jifeng{}
}
productFlavors.all { flavor -> flavor.manifestPlaceholders = [ UMENG_CHANNEL_VALUE:name ] }}