问题
在编译android应用的使用,配置manifest.xml的属性时,使用如下写法
1 | |
那么在编译时,使用·-PversionCommit=2970e93·就可以设置这属性值,但是,在构建出的apk中,这个属性竟然是个数字2139095040.000000,
分析
直接看上去,像是把2970e93当成科学计数法了,直接从字符串转成了数字,但是直接转换,发现是不相等的,
解决
既然发现是自动将值转类型,那么久可以尝试禁止转义,可以使用转义符防止转义
-PversionCommit=\\2970e93
测试后发现可以解决问题
新的问题
在某些构建脚本下,会出现versionCommit值不合法的问题,实际构建中,会在生成的文件中使用到这个变量
1 | |
BuildConfig.java这个文件实际上gradle自动生成的,可以用于区分构建的环境(版本),比如测试版本、正式版本、特殊版本等,
关于BuildConfig的使用,可以参考 这个