无法加载AppCompat ActionBar,出现未知错误,Android Studio 3.0。

4

在将Android Studio更新到3.0版本后,我无法预览我的应用程序的布局,我收到了以下错误:

'Failed to load AppCompat ActionBar with unknown error'.

我该怎么解决这个问题?但是如果我在我的设备上运行应用程序,它可以正常运行。

这是我的Gradle文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion '26.0.2'
    defaultConfig {
        applicationId 'com.halloo'
        minSdkVersion 16
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.android.support:design:24.2.1'
    compile 'com.android.support:support-v4:24.2.1'
    testCompile 'junit:junit:4.12'
}

dependencies {
    compile 'com.squareup.okhttp3:okhttp:3.5.0'
}
dependencies {
    compile 'com.android.support:support-v4:24.+'
}
dependencies {
    compile 'com.android.support:cardview-v7:24.0.0'
    compile 'com.android.support:recyclerview-v7:24.0.0'
}

dependencies {
    compile 'com.android.support:support-v4:24.+'
    compile 'junit:junit:4.12'
}

dependencies {
    compile 'com.android.support:support-v4:24.+'
    compile 'com.mikhaellopez:hfrecyclerview:1.0.0'
}

非常感谢您在此事上的时间和帮助。

1
为什么你要这么多次地放置这个代码块 "dependencies { compile 'com.android.support:support-v4:24.+' }"???? - Niraj Sanghani
请问为什么您要多次包含compile 'com.android.support:support-v4:24.+' - Dipali Shah
我认为这是Android Studio中的一个错误。 - Dheeraj Joshi
抱歉,我修改了我的问题。 - Denny Kurniawan
1
@DheerajJoshi,谷歌bug有任何参考资料吗? - Denny Kurniawan
显示剩余5条评论
3个回答

7
首先,你需要使用相同版本的compileSdkVersionbuildToolsVersiontargetSdkVersionsupport library version。我看到你想使用buildToolsVersion'26.0.2',因此将它们全部改为版本26。
其次,你需要清理你的build.gradle。没有必要重复依赖项。
第三,在尝试清理并构建您的项目之后,如果仍无法解决问题,则可以尝试File -> Invalidate Caches/Restart...作为最后的手段。
你的appbuild.gradle应该像这样:
apply plugin: 'com.android.application'

android {
  compileSdkVersion 26
  buildToolsVersion '26.0.2'
  defaultConfig {
    applicationId 'com.halloo'
    minSdkVersion 16
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  }
  buildTypes {
    release {
      minifyEnabled false
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
  }
  productFlavors {
  }
}

dependencies {
  compile fileTree(include: ['*.jar'], dir: 'libs')
  androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
  })
  compile 'com.android.support:appcompat-v7:26.1.0'
  compile 'com.android.support:design:26.1.0'
  compile 'com.android.support:support-v4:26.1.0'
  compile 'com.squareup.okhttp3:okhttp:3.5.0'
  compile 'com.android.support:recyclerview-v7:26.1.0'
  compile 'com.mikhaellopez:hfrecyclerview:1.0.0'
  testCompile 'junit:junit:4.12'
}

您还需要检查您的项目build.gradle文件。其中应包含build:gradle:3.0.0(正如@dheeraj-joshi所指出的那样),类似于以下内容:

buildscript {
  repositories {
    jcenter()
    mavenCentral()
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:3.0.0'
  }
}

allprojects {
  repositories {
    jcenter()
    mavenCentral()
//    maven { url "https://maven.google.com" }
    google()
  }
}


task clean(type: Delete) {
  delete rootProject.buildDir
}

接下来,你需要检查你的 Gradle 版本。它至少应该使用 gradle-4.1


您好,感谢您的回答。感谢您对编译的注释,这对我很有帮助,但它仍在下载sdk 26。因此,我稍后会查看答案,谢谢。 - Denny Kurniawan

4

我遇到了类似的问题(可能不完全相同)。

我可以在手机上运行起始代码,并且菜单也出现了。但是,Android Studio 中的预览窗格没有显示实际的布局。

我通过在 styles.xml 中将 Theme.AppCompat.Light.DarkActionBar 更改为 Base.Theme.AppCompat.Light.DarkActionBar 来解决这个问题。


3
这是一个关于Android支持库版本“26.0.0-beta2”的错误。请使用以下代码进行修复:
使用:compile 'com.android.support:appcompat-v7:24.2.1' 并且需要使用以下版本:

buildToolsVersion '26.0.0'

以及

'com.android.tools.build:gradle:3.0.0-alpha8'

这样应该就能够正常工作了。

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