升级Gradle4.6 踩坑记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ocean20/article/details/83093661

最近AS提示工程可升级gradle4.6,com.android.tools.build:gradle:3.2.1
根据提示升级了,但是发现怎么也编译不过去了,clean,删build文件夹
各种不行。就是找不到androidannotations没有生成带"_"的类。
于是google查找了一下,发现升级Gradle4.6后无法正确找到AndroidManifest
可添加如下配置解决

android{
.
.
	defaultConfig {
	.
	.
		javaCompileOptions {
            annotationProcessorOptions {
                arguments = [
                              "androidManifestFile" : "$projectDir/src/main/AndroidManifest.xml".toString()]
            }
        }
        .
        .
	}
	.
}

编译是通过了,但是Jrebel似乎无法正常使用了。
会报出如下错误:
Error:java.lang.RuntimeException: java.lang.NoSuchFieldException: androidBuilder
目前未找到解决方法,Jrebel也已经停止更新了。
只能先把gradle切换回3.1.4.
查看了com.android.tools.build:gradle的源码 3.1.4到3.2.0版本进行了重构,jrebel似乎是通过反射的方式进行的。所以,由于类和方法都与3.1.4的不同。反射自然找不到对应的类或方法或字段。
暂时只能等jrebel更新了。但希望渺茫。

猜你喜欢

转载自blog.csdn.net/ocean20/article/details/83093661
今日推荐