1. 程式人生 > >升級Gradle4.6 踩坑記

升級Gradle4.6 踩坑記

最近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更新了。但希望渺茫。