Android Studio3.5+gradle插件3.5.0+gradle-wrapper5.4.1编译AIDL报错问题

升级Android Studio至3.5及gradle相关组件后,AIDL编译报错,生成的java文件不完整。解决方法是在gradle.properties中设置org.gradle.jvmargs为-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8,增加内存分配,然后clean并重新编译。问题可能由gradle 5.0以上版本降低后台内存堆大小引起。
摘要由CSDN通过智能技术生成

前段时间把AndroidStudio升级到了3.5版本,同时更新gradle插件为3.5.0版本、更新gradle wrapper为5.4.1版本。更新完成后编译项目,发现所有AIDL文件编译都报错,错误提示信息类似:
F:\xxx\.\app\build\generated\aidl_source_output_dir\debug\compileDebugAidl\out\xxx\…\xxx.java.java:69: 错误: 解析时已到达文件结尾
检查后发现所有AIDL文件编译后生成的java文件都不完整,都只生成了部分java代码。于是想办法解决此问题……周六捣鼓了半天终于找到了解决方法:将gradle.propertiesorg.gradle.jvmargs配置的值改为:org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
如下图示:

gradle.properties
修改后gradle clean并重新编译项目即可。问题产生的原因是gradle5.0以上的版本编译时将后台内存堆大小从1GB降为了512M,可能是这个原因导致aidl编译后无足够的内存缓存,进而导致所生成的java文件都不完整。Android官网对gradle5.0+版本的提示:
在这里插入图片描述
Android Studio和gradle升级经常会搞出些莫名其妙的问题……希望这篇文章能帮到同样遇到此问题的同学。。

参考文章:https://developer.android.google.cn/studio/releases/gradle-plugin

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值