Android Studio 2.3 Beta 1 +支持25.1.0 =预览已损坏

Android Studio 2.3 Canary 3.支持库25.1.0。

布局预览完全被打破。 包含支持相关视图的任何内容似乎在预览期间中断。

在所有情况下,这是堆栈的开头:

Exception Details java.lang.NoSuchFieldError: ViewBackgroundHelper   at android.support.v7.widget.AppCompatBackgroundHelper.loadFromAttributes(AppCompatBackgroundHelper.java:46)   at android.support.v7.widget.AppCompatImageView.(AppCompatImageView.java:63)   at android.support.v7.widget.AppCompatImageView.(AppCompatImageView.java:56) .... 

..等等

无论布局是什么样的,我现在都会遇到这个血腥的ViewBackgroundHelper相关问题。 似乎不管是什么types的布局或者其中有什么视图……似乎通过AppCompat的任何内容都会在预览中遇到此错误。

从来没有见过这个。 以前有Android Studio 2.3 Canary 2 +支持libs 25.0.1。

看起来似乎不可能升级Android Studio或其支持库而不花费数小时来处理这类东西,嘿?

感谢任何提示,谢谢 –

UPDATE

看起来我不是唯一一个。 发现此处记录的错误,已被许多人主演:

https://code.google.com/p/android/issues/detail?id=230183

更新2

仍然是AS 2.3 Beta的问题1.仍然无法看到我的布局。 相同的java.lang.NoSuchFieldError: ViewBackgroundHelper错误无处不在。

Solutions Collecting From Web of "Android Studio 2.3 Beta 1 +支持25.1.0 =预览已损坏"

根据问题跟踪器,截至2017年1月10日:

https://code.google.com/p/android/issues/detail?id=230183

对于那些使用2.3.0-beta1 Gradle插件的人,可以通过添加来禁用构建缓存

android.enableBuildCache=false

到您的gradle.properties文件,并告诉我们是否能解决您的问题。 将行添加到gradle.properties后,请重建项目。

谢谢。

已经certificate可以为一些用户解决问题。

现在一切都有效。

  1. 我今天升级到最新的Android Studio:2.3 Beta 3
  2. 我被提示更新到最新的com.android.tools.build:gradle:2.3.0-beta3

重启,无效,重建; 一切都在6周内第一次在预览窗格中完美呈现

看起来他们已经修好了。 最后

我在跟踪器上提交了这个问题。 其他参与者发现删除一些其他非Android库依赖项会导致问题消失。 基于此我find了一个解决方案(从问题线程转发):

进一步调查后的其他信息:

Android Studio 2.2.3
Build#AI-145.3537739,建于2016年12月2日
JRE:1.8.0_76-release-b03 amd64
JVM:JetBrains sro的OpenJDK 64位服务器VM

支持库:25.1.0
构建工具:25.0.2

能够在上面的工作室版本(2.2.3稳定版)上重现这一点后,我开始根据此线程中其他人提供的信息删除其他库依赖项。 删除书法库( https://github.com/chrisjenx/Calligraphy )和相关代码后,布局预览再次开始正常工作。

有趣的是,我能够重新添加书法库,并且布局预览继续工作。 也许这指向android gradle插件的某种缓存问题?

对于遇到此问题的其他人,我建议如下:
1.找出导致问题的库
2.删除库依赖项和相关代码
3.做一个完整的清洁和建设
4.validation布局预览是否有效
5.重新添加库依赖项
6.做一个完整的清洁和建设
7.validation布局预览是否有效

注意:我怀疑书法引起了问题,因为它依赖于一个名为“fontPath”的自定义xml属性,以及一些上下文操作。 如果您有任何库在窗口中进行View操作,我建议先删除它们。

将AppTheme样式更改为:

  

我有一个解决方案问题不是Android Studio的版本。

问题是Gradle版本回到稳定版本2.2.3,经过几次测试后它对我有用。 它是gradle测试版中的一个Bug,它已经被谷歌报道了。

我在接下来的步骤中解决了这个问题

  • 删除 / / build / build / intermediates / explosion-aar
  • 重建项目
  • 检查在explosion-aar中只有一个版本支持库