打包时动态指定一些值

最近项目要上线了,所以经常需要打包.apk进行测试。

那么就有一个问题:有时候需要本地环境,有时候需要测试环境,还有生产环境,这些环境的一些baseUrl,证书文件(.der)都不同。在修改的时候要改好几个地方,不太方便,而且容易忘记。

能不能只改一个地方呢?那是必须可以的。

在build.gradle文件中:

defaultConfig {

buildConfigField("String", "BaseUrl", "\"https://192.168.1.1/api/v1\"")//银行测试环境
        buildConfigField("String", "DER", "\"xxx.der\"")//银行测试环境
}

buildCongigField的三个参数:变量类型,变量名,变量值。

buildCongigField可以定义一个变量,这个变量在任何环境下都可以使用。

buildCongigField的使用:

String s = BuildConfig.BaseUrl;

这样在程序中可以根据build.gradle文件的配置来修改一些变量的值,只需要修改一个地方,比较方便。

时间: 2024-11-05 15:54:31

打包时动态指定一些值的相关文章

maven 打包时动态替换properties资源文件中的配置值

pom build节点下面添加resource配置: [html] view plain copy <resources> <resource> <directory>src/main/resources/</directory> <filtering>true</filtering> <includes> <include>**/*.properties</include> </includ

打包时,指定war包的名称

在pom.xml中修改finalName节点的值即可,如下: 1 <build> 2 <plugins> 3 <plugin> 4 <groupId>org.springframework.boot</groupId> 5 <artifactId>spring-boot-maven-plugin</artifactId> 6 </plugin> 7 </plugins> 8 <resource

c#开发的程序安装时动态指定windows服务名称

转自:http://www.jb51.net/article/30549.htm 前段时间由于项目的需求,要在Windows里把同样的组件制作成多个不同名称的服务,这些服务完成类似的功能,仅需要修改业务配置文件 这下可把我难住了,难道要 在开发的代码中一个一个地设置想要的名称,然后重新编译,再注册成服务? 但是如果将来又要换个名称呢?再重新设置. 编译.注册一遍?这样操作太麻烦了! 于是我就想能不能通过在安装的时候进行配置,比如加一个xml文件记录要安装的服务的服务名等信息,每次安装前修改该xm

Spring boot项目分环境Maven打包,动态配置文件,动态配置项目

Spring boot Maven 项目打包 使用Maven 实现多环境 test dev prod 打包 项目的结构 在下图中可用看出,我们打包时各个环境需要分开,采用 application-环境.yml 的方式命名 环境配置开始 首先我们需要在application.yml文件中配置 spring.profiles.active = @[email protected]这里的proofileAction 是我们下面要用到的变量 spring: profiles: active: @[ema

使用 gradle 在编译时动态设置 Android resValue / BuildConfig / Manifes中&amp;lt;meta-data&amp;gt;变量的值

转载请标明出处:http://blog.csdn.net/xx326664162/article/details/49247815 文章出自:薛瑄的博客 你也能够查看我的其它同类文章.也会让你有一定的收货 关于使用Gradle来控制版本号和生成不同版本号的代码.我总结了三篇文章,网上关于这些知识,都比較零散.我在学习这些的之前.根本不知道还有这种方法.所以说不知道并不可怕,可怕的是不知道自己不知道.相信这三篇文章,会给你不少灵感 Gradle构建控制Log开关--BuildConfig\自己定义

【sql技巧】mysql修改时,动态指定要修改的字段 update `table` set (case when ....) = 1 where id = xx

如果你点进了这篇帖子,那么你一定遇到了跟我一样的问题.别看题目的set case when...,我一开始也是第一反应是用case when但是发现并不好使. 问题呢,说得高大上一点:动态指定要修改的字段. 其实小白在这里并没找到我以为的解决方法[笑哭],但是好歹问题是解决了. 这里是原帖的地址: http://stackoverflow.com/questions/4830191/t-sql-using-a-case-in-an-update-statement-to-update-certa

转: gcc 指定运行时动态库路径

gcc 指定运行时动态库路径 Leave a reply 由于种种原因,Linux 下写 c 代码时要用到一些外部库(不属于标准C的库),可是由于没有权限,无法将这写库安装到系统目录,只好安装用户目录下如 /home/youname/lib,可是怎么编译才能让程序正常编译,并且正常运行呢.这样使用gcc:gcc -I/path/to/include/dir -L/path/to/lib/dir -llibname -Wl,-rpath,/path/to/lib/dir -o test test.

利用脚本打包的动态库 在打包发布时出现得问题解析 ERROR ITMS-90362等

问题截图 错误代码 ERROR ITMS-90362,问题截图: 此问题的原因是app与嵌入的动态库的支持系统的最低版本不一致导致的,只要将两者统一就可以了 在提交到AppStore中得app 包含了模拟器的设置 ,也是因为生成动态库的时候,脚本支持了所有的架构,只要重新选择target进行编译, 然后替换文件打包的动态库文件就行 ERROR ITMS-90209 此问题待上述问题解决以后,就会解决

JMeter非GUI方式运行时动态设置线程组及传参

在使用JMeter进行性能测试自动化时,可能会有如下需求: 1.指定运行多少线程,指定运行多少次: 2.访问的目标地址变化了,端口也变化了,需要重新指定. 上面的需求如果有GUI方式运行,这都不是问题,直接在脚本上进行修改即可以了. 但是性能测试自动化是以非GUI方式运行的,如果要修改测试计划就比较麻烦了. 下面来说说如何简单的搞定这些问题: 1.指定运行多少线程   我们知道JMeter测试计划在运行Sampler之前先加载运行属性(jmeter.properties,system.prope