升級Gradle4.6 踩坑記
阿新 • • 發佈:2018-12-07
最近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更新了。但希望渺茫。