• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 使用Gradle动态配置资源,gradle动态资源

使用Gradle动态配置资源,gradle动态资源

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了gradle home配置,gradle安装配置,gradle配置,gradle环境变量配置,gradle环境配置等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

使用Gradle动态配置资源,gradle动态资源


#使用Gradle动态配置资源
***
>关键词:Gradle 多渠道打包 动态更换资源

Eclipse中可以使用Ant动态替换文件中的字符串,或者替换文件实现动态更换项目资源,实现快速打包。
例如:可以实现多渠道打包,debug版与release版访问不同服务器可以动态替换,多个app差异只是 **App名字** , **App图标** 或者 **App访问的服务器**不同,这些使用gradle可以更方便的做到,而且gradle**不是替换**资源,而**是配置**资源。

- 先来一个默认的

```
apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "net.ljt.gradledemo"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.1.0'
    testCompile 'junit:junit:4.12'
}

```
>在默认的基础上创建

```
android {
       ...
    productFlavors{
    }
       ...
}
```

> 在productFlavors里面创建不同包的标签

例如:
```
productFlavors {
        xiaomi {}
        baidu {}
        huawei {}
        yingyongbao {}
        _360{}
    }
```

当然也可以创建其他非应用商店的标签,例如你要打包多个不同名字的apk,那么就用不同的名字作标签
```
productFlavors {
        xiaomi {}
        baidu {}
        huawei {}
        yingyongbao {}
        _360{}

        gradle{}
        gradledemo{}
    }
```
> 在标签中指定需要替换的资源

- 在这里你可以指定你的包名,版本号,版本ID,签名文件等内容
```
android {
    ...
    defaultConfig {
        applicationId "net.ljt.gradledemo"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    signingConfigs {    
        xiaomi {        
            keyAlias 'xiaomi'        
            keyPassword 'xiaomi123'
            storeFile file('xiaomi.keystore')
            storePassword 'xiaomi123'
        }
        baidu {
            keyAlias 'baidu'
            keyPassword 'baidu123'
            storeFile file('baidu.keystore')
            storePassword 'baidu123'
        }
    }
    productFlavors {
        xiaomi {
            applicationId "net.ljt.gradle.xiaomi"
            minSdkVersion 15
            targetSdkVersion 25
            versionCode 3
            versionName "1.2" 
            signingConfig signingConfigs.xiaomi
        }
        baidu {
            applicationId "net.ljt.gradle.baidu"
            minSdkVersion 15
            targetSdkVersion 24
            versionCode 2
            versionName "1.1"
            signingConfig signingConfigs.baidu
        }
        huawei {}
        yingyongbao {}
        _360{}

        gradle{}
        gradledemo{}
    }
    ...
}
```
如果你的flavor里面只是替换非常简单的字符串,例如渠道号,就可以简略的这样写
```
productFlavors {
        xiaomi {}
        baidu {}
        huawei {}
        yingyongbao {}
        _360{}

        gradle{}
        gradledemo{}
    }
    //使用循环遍历所有flavor
&n

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 使用Gradle动态配置资源,gradle动态资源

相关文章

  • 2017-05-26Android新手入门2016(8)--ListView之ArrayAdapter
  • 2017-05-26分析google的multidex库,googlemultidex库
  • 2017-05-26类似微信朋友圈,点击+号图片,可以加图片,信朋友圈
  • 2017-05-26仿拉手团购App5--登录界面,团购app5--登录界面
  • 2017-05-26Intent(三)向下一个活动传递数据,intent传递
  • 2017-05-26TabLayout + ViewPager,tablayoutviewpager
  • 2017-05-26Android 之 图片压缩
  • 2017-05-26Android CursorAdapter的使用,cursoradapter使用
  • 2017-05-26WeakReference在Handler中的应用,weakhandler
  • 2017-05-26android:Activity启动模式之singleTask(二)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 安卓OKhttp请求封装,安卓okhttp封装
    • ScrollView中嵌套GridView,ListView只显示一行的解决办法,scrollviewgridview
    • Android Studio 错误解决办法
    • Android中使用开源框架EventBus3.0实现Fragment之间的通信交互,fragment开源框架
    • Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define ...,dalvikdex
    • 手游助手应用源码项目,游助手源码项目
    • 记一次kafka producer连接缓慢的排查
    • Android端 配置极光推送
    • Android安全专项-利用androguard分析微信
    • Android开发艺术探索学习笔记(十一),android艺术探索

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有