在 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 28
到 compileSdkVersion 27
targetSdkVersion 28
转 targetSdkVersion 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:您还需要更新您的 compileSdkVersion
和 targetSdkVersion
以删除一些 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 堆大小