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 多渠道打包相关推荐

  1. Android Studio 多渠道打包、自动版本号及 gradlew 命令的基本使用

    Android Studio 真可谓神器,详细请点这里:打造安卓开发航空母舰 这里介绍其多渠道打包: 1 建立多渠道 这里介绍一种简单的,直接as操作: 直接上图咯,在项目结构你添加flavor就好了 ...

  2. Android Studio多渠道打包和代码混淆教程

    什么是Gradle Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的领域特定(DSL)语言.Androi ...

  3. android 自定义apk名,Android Studio多渠道打包、自定义打包APK名称

    现在为了推广产品,会在多个渠道应用市场发布应用,为了统计不同渠道的数据,需要在应用中表明渠道,如果一个一个去修改打包效率会很低.AS为我们提供了简便的方法,可以多渠道打包,一次打包所有的渠道包. 1. ...

  4. Android Studio 多渠道打包之友盟打包

    单一打包比较麻烦需要进行多次重复的打包,在此推荐可以更高效,更安全的多渠道打包方式--------友盟多渠道打包 下面是具体步骤介绍: 1.配置清单文件 代码如下: <meta-data     ...

  5. Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)

    1,创建一个项目 ** 2,在项目中创建几个文件夹,等级和main文件夹平级,我这里创建了2个文件夹作为测试用.分别为ou1,out2.(文件夹名字按自己需求创建,用于区分不同渠道就行) ** 3,两 ...

  6. Android studio 多渠道(多环境)打包grade配置详解

    Android studio 多渠道(多环境)打包grade配置详解 场景:开发app,我们需要两套环境或者两套环境以上的apk,每套环境的apk分两个版本debug版和release版. 公司有套平 ...

  7. Android studio 多渠道版本打包方法 flavor dimension

    Android studio 多渠道版本打包方法 flavor dimension 前言 开始 新建项目 修改build.gradle 创建差异化文件 创建图标 修改APP配色 修改APP名字 APP ...

  8. win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法

    win10 jenkins svn android studio 自动化打包教程 这两天搭建jenkins自动构建环境,中间遇到点坑坑洼洼 分享出来希望后来人少走些弯路 准备软件 jenkins.ms ...

  9. android中多渠道打包的三种方式

    转载至:一片枫叶的专栏 国内的Android开发者还是很苦逼的,由于众所周知的原因,google play无法在国内打开(翻墙的就不在考虑之内了),所以Android系的应用市场,群雄争霸.后果就是国 ...

最新文章

  1. springboot webjar使用
  2. vue中过渡动画(类名实现方式)
  3. Visual Studio 2013开发 mini-filter driver step by step 获取可执行文件名称 - 实现process monitor的一个功能 (10)
  4. Python学习笔记:IO编程StringIO和BytesIO
  5. php封装redis类,php封装redis操作类
  6. 面向对象 —— 结构与设计
  7. SQLite的SQL语法
  8. Atitit 装备工具分类 attilax总结 艾龙著 工具链体系 武器与软件行业工具也是很近似的的。 1. 分类思维 1 1.1. 总分类:冷、热 1 1.2. 轻、重、大规模杀伤性 1
  9. H5和微信小程序直播开发
  10. 《windows 鼠标指针文件 学习笔记》
  11. 如何卸载 adobe creative cloud?
  12. Ragel——基于有限状态机用于产生源码的编译器
  13. Java语言实现矩阵卷积运算
  14. 当文件夹访问被拒绝,需要权限来执行此操作怎么办?
  15. 计算机网络dce是什么意思,DTE与DCE的解释
  16. 微软project服务器搭建,Project Server 2013 安装和部署概述
  17. 2020年12月电子学会青少年软件编程Scratch(二级)等级考试真题解析
  18. 《论工业社会及其未来》—泰德.卡辛斯基
  19. jQuery二维码生成
  20. “Unable to create the directory [XXX] to use as the base directory”的解决办法

热门文章

  1. 使用英伟达NeMo让你的文字会说话,零基础即可实现自然语音生成任务 | 附代码...
  2. 小冰超级自然语音技术发布!PK真人真假难辨,同时获独角兽轮融资
  3. GitHub现在已支持函数定义跳转,妈妈再也不怕我记性差了
  4. SSI注入(server side includes injection 服务器端包含注入)
  5. RHEL 5基础篇—了解系统的引导过程
  6. IBM和Lightbend宣布构建新认知开发平台的战略
  7. 深入浅出 消息队列 ActiveMQ(转)
  8. Node.js链式回调
  9. Android WebView 支持H5的定位Js
  10. Silverlight中使用控件模板的问题(自己添加控件的方法)