Flutter项目运行报错:Cannot invoke method toInteger() on null object
解决Flutter项目构建报错:Cannot invoke method toInteger() on null object
这个报错的核心原因是local.properties文件里缺少flutter.compileSdkVersion、flutter.minSdkVersion或flutter.targetSdkVersion配置项,导致代码调用toInteger()时拿到了null值。下面是两种直接的解决方法:
方法一:补全local.properties配置
找到项目根目录下的local.properties文件(如果没有就新建一个),添加以下配置(版本号可根据你安装的SDK调整,示例用当前主流的34版本):
flutter.sdk=你的Flutter SDK路径(比如C:\\flutter或者C:/flutter) flutter.compileSdkVersion=34 flutter.minSdkVersion=21 flutter.targetSdkVersion=34
方法二:给build.gradle加默认值兜底
修改android/app/build.gradle里的版本号配置,给每个getProperty调用加上空安全判断和默认值,避免null报错:
android { // 替换原来的compileSdkVersion行 compileSdkVersion localProperties.getProperty('flutter.compileSdkVersion')?.toInteger() ?: 34 ndkVersion flutter.ndkVersion // ...其他代码不变 defaultConfig { // 替换原来的minSdkVersion和targetSdkVersion行 minSdkVersion localProperties.getProperty('flutter.minSdkVersion')?.toInteger() ?: 21 targetSdkVersion localProperties.getProperty('flutter.targetSdkVersion')?.toInteger() ?: 34 // ...其他代码不变 } }
最后验证
执行命令清理缓存:
flutter clean
然后重新运行项目即可。
内容的提问来源于stack exchange,提问作者Reader Ng
相关产品推荐
相关产品推荐

