需求背景:我们修复Bug的时候,频繁提交APK包,导致测试同学搞不清哪个包才是最新的 比如一个版本3.0.1,我们可能后续基于这个版本陆续提交了好几个修复包 同时,如果服务端ip地址能在界面上配置的话,更好了 以上都是基于debug模式下的,线上版本不会出现这些选项 思路:git每次提交commit的时候,都会创建一个唯一的sha串,我们拿这个作为内部版本号. 先给上最终效果图 那么如何在gradle编译的时候,就把这些信息写入到app中呢 关键字 BuildConfig类. 在build.gr…
0.1 先对Dalvik以及ART做简单介绍: 什么是Dalvik: Dalvik是Google公司自己设计用于Android平台的Java虚拟机.dex格式是专为Dalvik应用设计的一种压缩格式,适合于内存和处理器速度有限的系统.Dalvik允许同时运行多个虚拟机的实例,并且每一个应用作为独立的Linux进程执行.独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭. 什么是ART: 在Dalvik下,应用每次运行都需要通过即时编译器(JIT)将字节码转换为机器码,即每次都要编译加运行,这一…
代码中,使用__DATE__宏,获取程序编译时间,如何保证每次编译代码(非重新生成方式),都能更新__DATE__的值? 解决:通过vs的预先生成命令中,添加批处理命令,删除对应的obj文件方式,强制每次编译都会重新编译对应的cpp文件,如下 del obj\debug\main.objdel obj\release\main.obj…
项目环境: JDK7+Maven3.04 项目架构:SpringMVC 方法一:API访问Maven生成的MANIFEST.MF 1. 在pom.xml中添加jar包支持 <dependency> <groupId>com.jcabi</groupId> <artifactId>jcabi-manifests</artifactId> <version>1.1</version> </dependency> 2…
1. 首先找到文件AssemblyInfo.cs, 路径如下: 2. 修改版本的格式,修改后,程序每次编译,程序集的版本号都会自增. 修改前: [assembly: AssemblyVersion("1.0.0.0")][assembly: AssemblyFileVersion("1.0.0.0")] 修改后: [assembly: AssemblyVersion("1.0.*")][assembly: AssemblyFileVersion(…
c++ 的代码包含头文件和实现文件两部分, 头文件一般是提供给别人(也叫客户)使用的, 但是一旦头文件发生改变,不管多小的变化,所有引用他的文件就必须重新编译,编译就要花时间,假如你做的工程比较大(比如二次封装chrome这类的开发),重新编译一次的时间就会浪费上班的大部分时间,这样干了一天挺累的, 但是你的老板说你没有产出,结果你被fired, 是不是很怨啊, 如果你早点看到这段文章,你就会比你的同事开发效率高那么一些,那样被fired就不会是你了,你说这篇文章是不是价值千金!开个玩笑 :)…
C#获取程序集的版本号:string ver = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); C#中如何将记录项目的最后编译时间:在实际的软件开发工作中,我们通常需要记录某个工程的最后编译时间,原来在C++中,我们有个__DATE__,__TIME__,__FILE__,__LINE__这样的异性宏定义可以使用,但是在C#中,不能使用,但是可以用以下语句来获得最后编译时间.Syst…
一个简单的需求,就是需要程序判断当前系统的时间是不是在程序编译之后的,如果系统当前时间在编译之前,那说明这台机器的时间是不正确的,需要终止程序运行. 因为要在程序编译时候获取时间,如果每次编译前手动修改的话,稍微显得麻烦了一点. Windows下VS2015 VC中可以使用Visual c + + 编译器预定义的宏来获取编译时间,有__DATE__ __TIME__(这两个是ISO C99 和 ISO C + + 14 标准预定义的宏)__TIMESTAMP__(这个是VS预定义的)三个宏可以获…
HACK #6 使用localmodconfig缩短编译时间 本节介绍使用make localmodconfig生成精简的.config文件,缩短内核编译时间的方法.为了能够应对各种各样的环境,发布版的内核包含很多内核模块.但是在某个特定机器,例如,大家自己平时使用的PC上实际用到的模块只是其中的极小一部分.重新构建内核时,对不使用的模块进行编译就会浪费时间.编译后的模块存放在磁盘里,因此也会造成磁盘空间的浪费.将localmodconfig作为make的目标,就可以生成仅以正在使用的内核模块为…
去掉opengles2.0能省一半时间 换ssd  Compiled shader 'Shader Forge/Scenes_Ground_Standard_M' in 315.51s    gles (total internal programs: 31104, unique: 7880)    gles3 (total internal programs: 31104, unique: 7880)Compressed shader 'Shader Forge/Scenes_Ground_S…