在 Android Studio 3.1 中的当前主题中找不到样式“coordinatorLayoutStyle”

Posted

技术标签:

【中文标题】在 Android Studio 3.1 中的当前主题中找不到样式“coordinatorLayoutStyle”【英文标题】:Failed to find style 'coordinatorLayoutStyle' in current theme In Android Studio 3.1 【发布时间】:2018-11-24 04:19:40 【问题描述】:

android Studio 3.1 布局预览在当前主题中找不到样式“coordinatorLayoutStyle”。

Failed to instantiated one or more classes.
 Exception shown are :-
java.lang.ClassNotFoundException: android.view.View$OnUnhandledKeyEventListener

【问题讨论】:

【参考方案1】:

这是由于使用了 Alpha 版 SDK 28 造成的

我们需要在app文件的“build.gradle”中修改android ... compileSdkVersion 28compileSdkVersion 27 targetSdkVersion 28targetSdkVersion 27

另外,尝试更改实现,例如 implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'implementation 'com.android.support:appcompat-v7:27.1.1'

希望这行得通!

对于Android Studio v3.1.*,我们还需要修改: implementation 'com.android.support:design:28.0.0-alpha3'implementation 'com.android.support:design:27.1.1'

【讨论】:

android 需要以最新版本为目标,无论如何要修复此问题仍以 28 为目标? 不,我们不能。由于截至目前,Android SDK 28 版本仍处于 beta 和 rc-01 版本,我们必须等到我们获得 SDK 28 的稳定版本 这对我也有用,谢谢分享。请记住,Android Studio v3.1.* 还将支持更改为: implementation 'com.android.support:support-v4:27.1.1' 错误仍然在错误列表中继续存在,但现在可以正常工作,没有任何问题,只是 igonring 他们.【参考方案2】:

您可以通过将此脚本添加到应用程序模块build.gradle 中的android 部分来解决此问题

configurations.all 
resolutionStrategy.eachDependency  DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == "com.android.support") 
        if (!requested.name.startsWith("multidex")) 
            details.useVersion "27.+"
        
     
   

【讨论】:

可以确认这对 3.1.3 有用,但只是想知道这是否比按照 ***.com/a/51220258/635522 明确设置版本 27 有什么好处?【参考方案3】:

这似乎是当前版本的 Android Studio (3.1.3) 中的一个错误,因为我遇到了同样的事情。我从这里下载了 beta 版本并打开了我现有的项目,错误消失了。

https://developer.android.com/studio/preview/?utm_source=android-studio

不完全是一个修复,但希望它能让你恢复运行。

【讨论】:

谢谢,'JOSH' 'coordinatorLayoutStyle' 的主要错误已解决。但我遇到了一个新问题,它也说帮助我解决它 - tools:ignore="MissingConstraints"【参考方案4】:

更新

1. com.android.support:appcompat stable version 28.0.0 已发布。所以不需要降级版本。只需使用 28.0.0。

def supportVersion = "28.0.0"
implementation "com.android.support:appcompat-v7:$supportVersion"
implementation "com.android.support:design:$supportVersion"

如果不需要,可以忽略设计库。

2:您还需要更新您的 compileSdkVersiontargetSdkVersion 以删除一些 gradle 警告。

compileSdkVersion 28
targetSdkVersion 28

永远不要使用任何库的 alpha 版本,因为 alpha、beta 和 rc 版本可能有错误。而且您不想经常面对这些类型的错误。

重要建议

我建议你迁移到androidx,因为android 在28.0.0 之后不会更新支持库,所有更新将仅适用于androidx 包。 Check related answer.

【讨论】:

【参考方案5】:

这已在 Android Studio 3.2 中修复。

【讨论】:

【参考方案6】:

转到 app/res/styles 并为这个 Base.Theme.AppCompat.Light.DarkActionBar 更改 Theme.AppCompat.Light.DarkActionBar

【讨论】:

此修复可能适用于旧版本的 Android Studio,但不适用于 3.1.3。

以上是关于在 Android Studio 3.1 中的当前主题中找不到样式“coordinatorLayoutStyle”的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio 3.1 无法解析符号(主题、小部件、属性等)

Android Studio 1.3.1 中的错误 Java 堆大小

Android Studio 3.1 未显示构建错误详细信息

Android Studio升级到3.1出现的变化

Android studio 3.1踩的坑

3.1Android Studio在虚拟机中运行应用