gradle:build.number 获取不到导致的error

错误描述

Error:(159, 0) Cannot invoke method toInteger() on null object
"openFile:E:\software\zjjRepository\svn\sdxd\build.gradle">Open File

这里写图片描述

产生原因


  • 先来看一段build.gradle 中获取版本号的的代码
def getVersionCode() {
    def versionFile = file('local.properties')

    if (versionFile.exists()) {
        def Properties versionProps = new Properties()
        versionProps.load(new FileInputStream(versionFile))
        def versionCode = versionProps['build.number'].toInteger()
        println('Current version code is ' + versionCode.toString())
        return versionCode
    } else {
        throw new GradleException("Could not find version.properties!")
    }

错误说的是build.number 是空的,也就是说没有取到,这个是从哪取的呢,代码中显示的是local.properties 这个文件中,显然不对。首先我要承认,我对gradle并不熟悉,纯属瞎推理,之后从网上搜了下,大致说的是版本号单独放到一个文件里,里面只有一个build.number ,所以 local.properties一般只放一个sdk的路径的sdk.dir,so,之后发现project中有一个sys.properties的文件,里面正好写的是build.number=3

这里写图片描述

很显然,build.gradle 里面写错了 改正之后就不载报那个错了。

这里写图片描述


之后又报了个别的错,就提个醒,项目中有很多的额复制粘贴,但是gradle在编译的时候是非常严格的,最好确认下,该改的都改了 例如 applicationId ,这个保持个Androidmanifest 中的package 是相同的。注意下哦。

这里写图片描述

这里写图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值