Android Gradle多渠道打包
程序员文章站
2024-01-11 15:24:40
...
1.首先集成友盟统计SDK(友盟集成文档)
在Gradle中集成如下:
dependencies {
compile 'com.umeng.analytics:analytics:latest.integration'
}
2.在AndroidManifest.xml的application节点下meta-data中配置如下:
<meta-data
android:name="UMENG_APPKEY"
android:value="您在友盟平台申请的AppKey"/>
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}"/>
3.配置一些Gradle语言以及多渠道ID:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23 // 编译的SDK版本
buildToolsVersion "23.0.3" // 编译的Tools版本
defaultConfig { // 默认配置
applicationId "应用包名" // 例如:com.auto.app
multiDexEnabled true // dex突破65535的限制
minSdkVersion 14 // 支持的最低版本
targetSdkVersion 23 // 支持的目标版本
versionCode 1
versionName "1.0.0" // 版本号
signingConfig signingConfigs.debug
}
signingConfigs {
release {
keyAlias 'alias'
keyPassword '签名密码'
storeFilefile ('签名文件地址')
storePassword '签名密码'
}
debug {
keyAlias 'alias'
keyPassword '签名密码'
storeFilefile ('签名文件地址')
storePassword '签名密码'
}
}
buildTypes {
release {
minifyEnabled false // 混淆开启
zipAlignEnabled true// Zipalign优化
shrinkResources true// 移除无用的resource文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release// 设置签名信息
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
// 设置apk包名,如:Auto_1.0.0_渠道ID.apk
def fileName = "Auto_${defaultConfig.versionName}_${variant.productFlavors[0].name}.apk"
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
repositories {
mavenCentral()
}
productFlavors {
baidu{
manifestPlaceholders= [UMENG_CHANNEL_VALUE:"baidu"]
}
wandoujia{
manifestPlaceholders= [UMENG_CHANNEL_VALUE:"wandoujia"]
}
xiaomi{
manifestPlaceholders= [UMENG_CHANNEL_VALUE:"xiaomi"]
}
}
}
dependencies {
compile fileTree(include: ['*.jar'],dir:'libs')
compile '其他引用包'
compile 'com.umeng.analytics:analytics:latest.integration'
}
4.使用Android Studio开始打包:
Android Studio3.0版本打包
Android Studio3.0版本打包与低版本的步骤前两步是一样的,在最后这步需要勾选签名,如下:
推荐阅读
-
Gradle在Android Studio中的应用技巧
-
Android Gradle多渠道打包
-
android studio gradle 版本更新
-
Android Studio中Gradle使用详解
-
上传自己Android APP应用到市场、如何才能做到防止别人二次打包?
-
Android 项目打包aar,使用aar文件
-
AndroidStudio工程中的build.gradle中的buildTypes、productFlavors的多构建、多渠道打包APK
-
Android Studio 使用Gradle创建远程本地仓库,解决打包AAR包时丢失所有dependencies库
-
Android Studio使用Gradle上传AAR至Maven
-
Android Studio 修改Gradle版本