Android——使用gradle进行多渠道自动打包
来源:互联网 发布:自挂东南枝网络歌曲 编辑:程序博客网 时间:2024/05/17 13:43
前言
在我的另一篇文章中介绍了如何使用Python进行多渠道打包,下面再把传统的gradle多渠道打包方式介绍一下,同样是以友盟SDK为例。
点击此处传送门Python快速打包技术
打包前配置
配置gradle
//主要是配置android{}封包下的内容android { 。 。 。signingConfigs { //配置签名文件,可以有多个 icekey { keyAlias 'icekey' keyPassword '填入key的密码' storeFile file('/Users/****/key/icekey.jks') //key所在文件夹 storePassword '填入store的密码' } } buildTypes { //配置构建版本,可以有多个 //测试版本 debug { debuggable true zipAlignEnabled false shrinkResources false signingConfig signingConfigs.icekey minifyEnabled false } //发布版本 release { debuggable false //是否开启测试 zipAlignEnabled true //是否启用zipAlign压缩优化 shrinkResources true //是否删除未被使用的资源文件 minifyEnabled false //是否开启混淆 signingConfig signingConfigs.icekey //签名文件 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' //指定混淆文件 } //空版本 source { debuggable true //是否开启测试 zipAlignEnabled true //是否启用zipAlign压缩优化 shrinkResources true //是否删除未被使用的资源文件 minifyEnabled false //是否开启混淆 signingConfig signingConfigs.icekey //签名文件 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' //指定混淆文件 } } //创建渠道名称,main{}是一个不合法名称 productFlavors { baidu {} huawei {} xiaomi {} } // 这里体现在AndroidManifest中的// <meta-data// android:name="UMENG_CHANNEL"// android:value="${UMENG_CHANNEL_VALUE}"/> //运行自动赋值给AndroidManifest.xml中的${UMENG_CHANNEL_VALUE} productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] } lintOptions { //配置打包线程的操作 ignoreWarnings true //忽略警告 checkReleaseBuilds false //是否检查release版本 abortOnError false //出现错误是否终止 } applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith(".apk")) { //判断是否是apk //这个函数生成了apk的名称 def apkName = "ice-${variant.productFlavors[0].name}-${defaultConfig.versionName}.apk" output.outputFile = new File(outputFile.parent, apkName) //输出文件 } } } 。 。 。}
配置AndroidManifest.xml
在Application标签下添加:
<!--友盟的key--> <meta-data android:name="UMENG_APPKEY" android:value="57bf375ee0f5*******018a3"/> <!--友盟渠道号--> <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}"/> //这样写就能够读取gradle中的[UMENG_CHANNEL_VALUE: name]的name的值了。
开始自动打包
在Android Studio的的终端机中输入
./gradlew assembleRelease //打包所有渠道的Release版包./gradlew assembleSource //打包所有渠道的Source版包
0 0
- Android——使用gradle进行多渠道自动打包
- Android Studio使用Gradle进行多渠道打包
- Android Studio使用Gradle多渠道自动打包
- 使用gradle进行多渠道打包
- Android Gradle(1)— Flavor,简单使用多渠道打包
- Android 使用 Gradle 多渠道打包
- Android 使用 Gradle 多渠道打包
- Android Gradle实用技巧——多渠道打包
- android studio中使用gradle多渠道打包
- Android Studio 使用Gradle多渠道打包
- Android Studio 使用Gradle多渠道打包
- Android快速使用Gradle实现多渠道打包
- Android使用Gradle实现多渠道打包
- android Gradle多渠道打包
- Gradle Android 多渠道打包
- android gradle 多渠道打包
- Android Gradle多渠道打包
- ANDROID --GRADLE多渠道打包
- AAPT err(Facade for): libpng error: Not a PNG file 错误解决
- ubuntu窗口显示的菜单栏从左上角移到窗口上
- 创建SpringMVC项目之使用注解实现
- Educational Codeforces Round 6 E. New Year Tree(DFS序+线段树)
- scala学习笔记之模式匹配
- Android——使用gradle进行多渠道自动打包
- jqgrid使用ajax获取数据赋值
- AndroidStudio Export Jar For Unity
- 智能指针
- 不知道mysql账号密码登入 修改密码
- [SCOI2005]繁忙的都市
- ORACLE数据库基本操作
- Cocos2d-3.10 使用Curl异步下载文件(断点续传)
- Spring定时任务的几种实现