Android Studio 多渠道打包
2019独角兽企业重金招聘Python工程师标准>>>
build.gradle实例:
apply plugin: 'com.android.application'android {/*** 设置编译 sdk 和编译工具的版本*/compileSdkVersion 19buildToolsVersion "24.0.3"/*** 为所有的 build variants 设置默认的值. 关于 build variant, 我们后面会用一张图片说明*/defaultConfig {applicationId "com.dingxiaoyu.iweather"minSdkVersion 19targetSdkVersion 19versionCode 1versionName "1.0"// dex突破65535的限制multiDexEnabled true// AndroidManifest.xml 里面UMENG_CHANNEL的value为 ${UMENG_CHANNEL_VALUE}manifestPlaceholders = [UMENG_CHANNEL_VALUE: "channel_name"]}/*** 关于签名, 请参考 google 官方文档:* <a href="https://developer.android.com/studio/publish/app-signing.html#debug-mode">Sign Your App</a>*/signingConfigs {/*** As 会自动帮我们使用 debug certificate 进行签名. 这个 debug certificate 每次安装 As 都会变,* 因此不适合作为发布之用.*/debug {}release {storeFile file("$System.env.STORE_FILE")storePassword "$System.env.STORE_PASSWORD"keyAlias "$System.env.KEY_ALIAS"keyPassword "$System.env.KEY_PASSWORD"}}/*** type 默认会有 debug 和 release. 不管你写不写都如此.* 通常, 我们在 debug 中保留默认值, release 中开启混淆, 并使用私有的签名*/buildTypes {release {// 不显示LogbuildConfigField "boolean", "LOG_DEBUG", "false"// 移除无用的resource文件shrinkResources true//Zipalign优化zipAlignEnabled true// 混淆minifyEnabled false//加载默认混淆配置文件proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'// 签名signingConfig signingConfigs.release}debug {//apk打包文件后缀versionNameSuffix "-debug"}}/*** flavor 强调的是不同的版本, 比如付费版和免费版.* 在国内, 这个字段更多被用于区分不同的渠道, 即 360 渠道, 小米渠道等等.*/productFlavors {main {// 定制包名的//applicationId "com.dingxiaoyu.iweather"// manifests引用的//manifestPlaceholders = [ CHANNEL_NAME:"YINGYONGBAO"]}m360 {}xiaomi {}flyme {}}// 设置路径sourceSets {main {assets.srcDirs = ['src/main/assets']jniLibs.srcDirs = ['libs']//manifest.srcFile 'src/main/AndroidManifest.xml'//java.srcDirs = ['src/main/java']//resources.srcDirs = ['src/main/res']//aidl.srcDirs = ['src']//renderscript.srcDirs = ['src']//res.srcDirs = ['src/main/res']}}/*** 这个选项基本不用.* <a href="http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits">官方说</a>: 使用 splits 可以比使用 flavor 更加有效创建多 apk.* 目前而言, 仅支持 Density 和 ABIs 这两个分类.*/splits {// 按屏幕尺寸density {enable false// 默认包含全部分辨率, 这里是剔除一些我们不要的exclude "ldpi", "mdpi", "xxxhdpi", "400dpi", "560dpi", "tvdpi"}// 按架构abi {enable false// 使用 `reset()` 后, 我们就相当于不包含任何架构,// 这种情况下我们就可以通过 `include` 指定想要使用的架构reset()include 'x86', 'armeabi-v7a'universalApk true // 是否同时生成一个包含全部 Architecture 的包}}//打包完成后修改文件名,加版本号applicationVariants.all { variant ->variant.outputs.each { output ->def outputFile = output.outputFileif (outputFile != null && outputFile.name.endsWith('.apk')) {def fileName = outputFile.name.replace(".apk", "-${defaultConfig.versionName}.apk")output.outputFile = new File(outputFile.parent, fileName)}}}
}/*** 配置依赖目录*/
repositories {flatDir {dirs 'libs'}
}/*** 项目的依赖*/
dependencies {/*** `fileTree` 导入 libs 目录下的所有 jar 文件*/compile fileTree(dir: 'libs', include: ['*.jar'])compile 'com.android.support:support-v4:24.2.1'compile 'com.android.volley:volley:1.0.0'compile 'com.squareup.okhttp:okhttp:2.1.0'// flyme 推送compile(name:'common-1.0.10', ext:'aar')compile(name:'gslb-3.0.9', ext:'aar')compile(name:'push-internal-3.1.160901', ext:'aar')compile(name:'usage-stats-2.5.1', ext:'aar')compile 'com.google.android.gms:play-services-appindexing:8.4.0'
}
转载于:https://my.oschina.net/dingdayu/blog/759342
Android Studio 多渠道打包相关推荐
- Android Studio 多渠道打包、自动版本号及 gradlew 命令的基本使用
Android Studio 真可谓神器,详细请点这里:打造安卓开发航空母舰 这里介绍其多渠道打包: 1 建立多渠道 这里介绍一种简单的,直接as操作: 直接上图咯,在项目结构你添加flavor就好了 ...
- Android Studio多渠道打包和代码混淆教程
什么是Gradle Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的领域特定(DSL)语言.Androi ...
- android 自定义apk名,Android Studio多渠道打包、自定义打包APK名称
现在为了推广产品,会在多个渠道应用市场发布应用,为了统计不同渠道的数据,需要在应用中表明渠道,如果一个一个去修改打包效率会很低.AS为我们提供了简便的方法,可以多渠道打包,一次打包所有的渠道包. 1. ...
- Android Studio 多渠道打包之友盟打包
单一打包比较麻烦需要进行多次重复的打包,在此推荐可以更高效,更安全的多渠道打包方式--------友盟多渠道打包 下面是具体步骤介绍: 1.配置清单文件 代码如下: <meta-data ...
- Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)
1,创建一个项目 ** 2,在项目中创建几个文件夹,等级和main文件夹平级,我这里创建了2个文件夹作为测试用.分别为ou1,out2.(文件夹名字按自己需求创建,用于区分不同渠道就行) ** 3,两 ...
- Android studio 多渠道(多环境)打包grade配置详解
Android studio 多渠道(多环境)打包grade配置详解 场景:开发app,我们需要两套环境或者两套环境以上的apk,每套环境的apk分两个版本debug版和release版. 公司有套平 ...
- Android studio 多渠道版本打包方法 flavor dimension
Android studio 多渠道版本打包方法 flavor dimension 前言 开始 新建项目 修改build.gradle 创建差异化文件 创建图标 修改APP配色 修改APP名字 APP ...
- win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法
win10 jenkins svn android studio 自动化打包教程 这两天搭建jenkins自动构建环境,中间遇到点坑坑洼洼 分享出来希望后来人少走些弯路 准备软件 jenkins.ms ...
- android中多渠道打包的三种方式
转载至:一片枫叶的专栏 国内的Android开发者还是很苦逼的,由于众所周知的原因,google play无法在国内打开(翻墙的就不在考虑之内了),所以Android系的应用市场,群雄争霸.后果就是国 ...
最新文章
- springboot webjar使用
- vue中过渡动画(类名实现方式)
- Visual Studio 2013开发 mini-filter driver step by step 获取可执行文件名称 - 实现process monitor的一个功能 (10)
- Python学习笔记:IO编程StringIO和BytesIO
- php封装redis类,php封装redis操作类
- 面向对象 —— 结构与设计
- SQLite的SQL语法
- Atitit 装备工具分类 attilax总结 艾龙著 工具链体系 武器与软件行业工具也是很近似的的。 1. 分类思维	1 1.1. 总分类:冷、热	1 1.2. 轻、重、大规模杀伤性	1
- H5和微信小程序直播开发
- 《windows 鼠标指针文件 学习笔记》
- 如何卸载 adobe creative cloud?
- Ragel——基于有限状态机用于产生源码的编译器
- Java语言实现矩阵卷积运算
- 当文件夹访问被拒绝,需要权限来执行此操作怎么办?
- 计算机网络dce是什么意思,DTE与DCE的解释
- 微软project服务器搭建,Project Server 2013 安装和部署概述
- 2020年12月电子学会青少年软件编程Scratch(二级)等级考试真题解析
- 《论工业社会及其未来》—泰德.卡辛斯基
- jQuery二维码生成
- “Unable to create the directory [XXX] to use as the base directory”的解决办法
热门文章
- 使用英伟达NeMo让你的文字会说话,零基础即可实现自然语音生成任务 | 附代码...
- 小冰超级自然语音技术发布!PK真人真假难辨,同时获独角兽轮融资
- GitHub现在已支持函数定义跳转,妈妈再也不怕我记性差了
- SSI注入(server side includes injection 服务器端包含注入)
- RHEL 5基础篇—了解系统的引导过程
- IBM和Lightbend宣布构建新认知开发平台的战略
- 深入浅出 消息队列 ActiveMQ(转)
- Node.js链式回调
- Android WebView 支持H5的定位Js
- Silverlight中使用控件模板的问题(自己添加控件的方法)