Android Studio 3.0布局编辑器中的渲染错误

26

我刚开始学习Kotlin,用于安卓开发,并创建了一个空项目并添加了一个活动。按照Kotlin文档中所说,我已添加了所需的Gradle依赖项。默认情况下,MainActivity的XML文件仅包含一个TextView。但是,当我尝试在Layout Editor中预览XML时,它显示出“渲染错误”。

Render problem

Failed to load AppCompat ActionBar with unknown error.

还有,我正在收到这个

The following classes could not be instantiated:
- android.support.v7.widget.AppCompatImageView (Open Class, Show Exception, Clear Cache)
- android.support.v7.widget.ActionBarContainer (Open Class, Show Exception, Clear Cache)
- android.support.v7.widget.Toolbar (Open Class, Show Exception, Clear Cache)
- android.support.v7.widget.AppCompatTextView (Open Class, Show Exception, Clear Cache)
- android.support.v7.widget.ActionBarContextView (Open Class, Show Exception, Clear Cache)
- android.support.v7.app.WindowDecorActionBar (Open Class, Show Exception, Clear Cache)
- android.support.v7.widget.ActionBarOverlayLayout (Open Class, Show Exception, Clear Cache)


Exception Details java.lang.ClassNotFoundException: android.support.v4.view.TintableBackgroundView

我已经尝试手动重新构建项目和刷新布局,但似乎没有任何作用。

那么我该怎么办?我正在使用带有Kotlin的Android Studio 3.0 Canary 2

编辑:

我已经取得了一些进展。 我发现我的AppCompat主题都不起作用。


1
还有其他人遇到这个问题吗?我正在使用Canary Build 5并遇到了这个问题。 - Han
渲染失败,已知的错误。请尝试重新构建。以下类无法实例化:
  • android.support.v7.widget.AppCompatImageView(打开类、显示异常、清除缓存)
  • android.support.v7.widget.ActionBarContainer(打开类、显示异常、清除缓存)
- thotheolh
以上代码在26.0.0-beta2上运行,在Android Studio中会抛出渲染错误。 - thotheolh
1
@Han - 陈陈的下面的回答解决了这个问题。 - nycdanie
有人在这里报告了 https://issuetracker.google.com/issues/63054597 - Ajay S
显示剩余3条评论
11个回答

93

这个解决方案可能会对您有帮助。 从style.xml进行修改:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
</style>

至:

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
</style>

18

我也遇到了这个问题,解决方法如下:在build.gradlemodle:app中将appcompat-v7:26.0.0-beta2修改为appcompat-v7:26.0.0-beta1


1
这对我很有效。我目前正在使用Android Studio 3.0 Canary 5。 - nycdanie

12
同志们,我也在使用Android Studio 3.0时遇到了同样的问题,但是我通过在资源文件夹下的value文件夹中的样式文件中进行一些更改来解决了这个问题。
这就是解决方案...
<!-- Base application theme. -->
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

我在父级中添加了“Base.”以使其正常工作!


7

错误信息为:

implementation 'com.android.support:appcompat-v7:26.0.0-beta2' 

变更:

implementation 'com.android.support:appcompat-v7:26.0.0-beta1'

4

在Android Studio中渲染失败 android.support.v7.widget.AppCompatImageView

我所使用的环境:
Android Studio 3.0.1

问题出现在app/build.gradle文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24           -----> 1
    buildToolsVersion "24.0.0"     -----> 2

    defaultConfig {
        applicationId "com.example.some_project"
        minSdkVersion 15
        targetSdkVersion 24        -----> 3
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:24.0.0'        -----> 4
}

我将一些相关的行改为以下内容:

compileSdkVersion 26                       <------------ 1
buildToolsVersion "26.0.3"                 <------------ 2

targetSdkVersion 26                        <------------ 3

compile 'com.android.support:appcompat-v7:26.1.0'  <---- 4

我不需要在 styles.xml 文件中做任何更改。以上大多数答案建议更改以下行:

<style name="AppTheme" parent="Theme.AppCompat.Light">

into following:

<style name="AppTheme" parent="Base.Theme.AppCompat.Light">

但我不想这样做。似乎谷歌安卓已经将主题API从基础包移动到更根本的包中,当他们升级了API时。


4

我遇到了一个与25.4.0版本的支持库相关的问题。我将其回退到了25.3.1版本,布局渲染正常工作。


2

好的,请检查你的gradle文件,是否在app/build.gradle文件中添加了support:appcompat和appcompat:design依赖项?


2
无论如何,我现在添加了com.android.support:support库,并清理并重建了我的项目,不知怎么地它就起作用了。 - Sidharth Anil
就像@SidharthAnil所说的那样,我只是清理了我的Android Studio 3.1 canary 2项目,然后它就可以工作了。 - Cletus Ajibade

2

但是从alpha2版本开始,我遇到了即时运行错误...所以我现在已经禁用了它。你知道有什么解决方法吗? - Sidharth Anil

2
如果以上方法都无法解决问题,请尝试以下步骤:
1. 进入「工具」>「Android」>「SDK管理器」;
2. 在「外观和行为」>「系统设置」>「Android SDK」下选择「SDK工具」选项卡;
3. 将「Android SDK构建工具」更新至26.0.1或最新版本。
这个回答很可能可以解决你的问题。

1

我通过将支持设计版本更改为相同的appcompat版本来解决了这个问题。以下是我的示例依赖项

dependencies {
    compile 'com.android.support:appcompat-v7:25.3.1'  
    compile 'com.android.support:design:25.3.1'
}

以前我使用过。
compile 'com.android.support:design:25.4.0

'


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接