1.gradle中可以声明字符串或者其他变量,然后再buildType中使用buildConfigField 来往BuildConfig文件中插入一个字符类型的常量,如下

先声明

def umengDebugKey = 'xxxxxxxxxxxxxx'
然后是使用
android {
.....
buildTypes {
debug {
applicationIdSuffix '.dev'
buildConfigField "String", "UMENG_KEY", "\"${umengDebugKey}\""
}
release {
minifyEnabled true
shrinkResources true
}
}
....
} 编译之后你就会发现在buildConfig文件中多出来一行,
public static final String UMENG_KEY = "559a2ffa67e58e516a001d36";

而buildConfig文件是个java文件,可以在任何一个类中访问的。
另外,这个地方可以插入的除了string 还可以是其他基本数据类型,int等都是可以的哦! 2.除了可以在buildconfig文件中插入字段外,我们还可以在res文件中插入内容,方式和上面的基本类似
  debug {
applicationIdSuffix ".debug"
buildConfigField "String", "API_URL","\"http://test.example.com/api\""
buildConfigField "boolean", "LOG_HTTP_CALLS", "true"
resValue "string", "app_name", "Example DEBUG"
}
然后就可以直接通过R.string.app_name访问该字段了。
另外,通过试验发现,如果在主工程和lib工程中同时定义该字段的话,lib中访问到的也是主工程的该字段。
这样可以实现,从主工程传递字符串到lib工程中。 3.
build.gradle文件中有applicationid、version、versioncode等的属性,而这些都是可以在manifest文件中直接访问的,访问的方式就是
<uses-permission android:name="${applicationId}.permission.MIPUSH_RECEIVE"/>

这种方式可以非常方便的实现有些第三方库必须绑定包名的情况,然后你可以将第三方库封装到lib中,然后在lib的manifest文件中,通过这种方式定义好包名,最终生成的包的manifest中
这个字段就是主工程的applicationid了。

合理利用gradle的占位符功能的更多相关文章

  1. Android Gradle manifestPlaceholders 占位符详解

    Android Gradle manifestPlaceholders 占位符详解 在实际项目中,AndroidManifest里十几个地方的值是需要动态的改变(生成apk文件的时候).如果每次去改也 ...

  2. Adaptive Placeholder – 自适应的占位符效果

    在早期,我们都是通过使用 JavaScript 来实现占位符功能.而现在,HTML5 原生提供的 placeholder 属性让我们在现代浏览器轻松就能实现这样的功能.这里向大家分享一个自适应的占位符 ...

  3. python基础学习之简化占位符和格式化的概念

    简化版占位符有哪些? %s   字符串占位符,代表该位置有一个字符串待替换(万能) %d   数字占位符,代表该位置有一个数字待替换 %f    同上,这里是浮点数,float[默认保留6位小数] % ...

  4. C# 利用占位符替换word中的字符串和添加图片

    利用占位符替换word中的字符串和添加图片   ///<summary>         /// 替换word模板文件内容,包括表格中内容         /// 调用如下:WordStr ...

  5. 利用js实现placeholder占位符,甩开ie不兼容

    正常的写法 <input type="text" placeholder="占位符"> 这种写法ie低版本的支持不友好,为了满足某些测试或者产品的变 ...

  6. Spring 利用PropertyPlaceholderConfigurer占位符

      Hey Girl   博客园    首页    博问    闪存    新随笔    订阅     管理 posts - 42,  comments - 3,  trackbacks - 0 Sp ...

  7. Android 图片加载库Glide 实战(二),占位符,缓存,转换自签名高级实战

    http://blog.csdn.net/sk719887916/article/details/40073747 请尊重原创 : skay <Android 图片加载库Glide 实战(一), ...

  8. 深入Spring Boot:那些注入不了的Spring占位符(${}表达式)

    Spring里的占位符 spring里的占位符通常表现的形式是: <bean id="dataSource" destroy-method="close" ...

  9. Spring实战(八)bean装配的运行时值注入——属性占位符和SpEL

    前面涉及到依赖注入,我们一般哦都是将一个bean引用注入到另一个bean 的属性or构造器参数or Setter参数,即将为一个对象与另一个对象进行关联. bean装配的另一个方面是指将一个值注入到b ...

随机推荐

  1. using border-radius to make a worker

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  2. JSON简单介绍

    //JSON是一种数据格式//JSON比较像php里面的关联数组,它里面存的内容也是key和value成对存在的 JSON写法格式 var js = { "one":"h ...

  3. maven pom.xml

    什么是pom?    pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的u ...

  4. HDU--1863--畅通工程--并查集

    畅通工程 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  5. SharePoint中报表选择

    Office 365中制作报表的方式很多. 这里介绍下使用js获取SharePoint List实现报表的一种方法 资源 Jquery 1.8.2 http://blog.jquery.com/201 ...

  6. Socket编程 -- 全双工通信

    //这是客户端package com.test; import java.io.BufferedReader; import java.io.IOException; import java.io.I ...

  7. 提升你的开发效率,10 个 NPM 使用技巧

    对于一个项目,常用的一些npm简单命令包含的功能有:初始化一个文件夹(npm init),下载npm模块(npm install),创建测试(npm test) 和自定义脚本(npm run).但是, ...

  8. anguar.js tutorial demo

    http://docs.angularjs.cn/tutorial angular 入门demo : PhoneCat Tutorial App 别人的DEMO(官方版):http://angular ...

  9. 打造基于CentOS7的xfce最简工作环境

    参考这里:http://blog.csdn.net/smstong/article/details/44802989没成功. 又参考这里http://jensd.be/125/linux/rhel/i ...

  10. Xcode开发小问题集锦

    Q:用Xcode 6 创建的工程在iOS 7的设备上运行时上下部均会出现黑色的区域且应用不能全屏运行. A:Targets -> General -> App Icons and Laun ...