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

时间:2017-05-28 03:59:02

标签: android android-studio

我刚刚开始学习Kotlin进行Android开发,并开始了一个空项目并添加了一个活动。我已经在Kotlin文档中添加了所需的gradle依赖项。默认情况下,MainActivity的xml文件仅包含TextView。但是当我尝试在布局编辑器中预览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

我尝试过手动重建项目和刷新布局。但似乎没有任何效果。

那我该怎么办?我使用Android Studio 3.0 Canary 2和Kotlin

编辑:

我取得了一些进展。我发现我的AppCompat主题都没有用。

11 个答案:

答案 0 :(得分:92)

此解决方案可能对您有所帮助。 修改style.xml:

Items

为:

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

答案 1 :(得分:17)

我也有这个问题,解决方法如下:将appcompat-v7:26.0.0-beta2 build.gradle modle:app上的appcompat-v7:26.0.0-beta1修改为$stateParams

答案 2 :(得分:12)

多德 我使用Android Studio 3.0也遇到同样的问题, 我得到了一个解决方案,只需在res文件夹下的样式文件中进行一些更改。

这是......

<!-- 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>

我添加了&#34; Base。&#34;在父母中使其正常工作!

答案 3 :(得分:6)

错误是:

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

改变:

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

答案 4 :(得分:4)

我的支持库版本25.4.0存在问题。我回到了版本25.3.1,布局渲染工作。

答案 5 :(得分:3)

在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">

分为以下内容:

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

但是我不想这样做。看起来,当Google Android升级了API后,他们已经将Theme(s) API从Base包移到了更根的包中。

答案 6 :(得分:2)

我通过将gradle插件版本升级到3.0.0-alpha2并使用gradle wrapper gradle-4.0-milestone-1-all.zip解决了这个问题。

我在android studio问题跟踪器中记录了这个问题 - https://issuetracker.google.com/u/1/issues/62251892

答案 7 :(得分:2)

如果以上都不起作用,请尝试以下方法:

  • 转到工具&gt; Android&gt; SDK Manager
  • 内部外观&amp;行为&gt;系统设置&gt; Android SDK选择SDK工具选项卡。
  • 将Android SDK Build-Tools更新为26.0.1或最新版本。

This回答很可能会解决问题。

答案 8 :(得分:1)

好吧,检查你的gradle,你有没有添加支持:app / build.gradle文件中的appcompat依赖?还有appcompat:设计依赖

答案 9 :(得分:1)

当我尝试自动填充时,我遇到了同样的问题。但 这对我有用。确保添加这些依赖项:

compile "com.android.support:support-core-utils:26.0.0-beta2"
compile "com.android.support:support-v4:26.0.0-beta2"
compile "com.android.support:support-v13:26.0.0-beta2"
compile "com.android.support:appcompat-v7:26.0.0-beta2"
compile 'com.android.support:design:26.0.0-beta2'

classpath 'com.android.tools.build:gradle:2.3.3'                  

答案 10 :(得分: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

&#39;