多渠道打包
1.渠道:只是为了后期统计时(用户量、安装数量、点击量等)使用,默认不会修改安装包的功能
2.Gradle2.4 自动多渠道打包配置
channels.properties文件
#默认渠道
channel.default=qq
#全部渠道列表
channel.list=baidu,360,hiapk
Gradle2.4 自动多渠道打包配置
build.gradle文件
apply plugin: 'com.android.application'
// 加载多渠道配置文件
Properties properties = new Properties()
//若此处报channels.properties文件未找到的错误,尝试修改文件路径
properties.load(project.rootProject.file('app/channels.properties').newDataInputStream())
String channelDefault = properties.getProperty('channel.default')
String channleList = properties.getProperty('channel.list')
String[] channelArray = channleList.split(',')
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
defaultConfig {
applicationId "com.hihiwjc.learn.popularmovies"
minSdkVersion 18
targetSdkVersion 23
versionCode 1
versionName "1.0"
manifestPlaceholders = [CHANNEL_VALUE: channelDefault]
}
buildTypes {
release {
minifyEnabled false
// 开启多dex(解除65535的限制)
multiDexEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
//这里是为了防止产生证书文件重复的问题
packagingOptions {
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'
}
productFlavors {
//产品渠道,遍历配置
for (int i = 0; i < channelArray.size(); i++) {
def channel = channelArray[i]
"${channel}" {
manifestPlaceholders = [CHANNEL_VALUE: channel]
}
}
}
}
//依赖库
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
}