无法在 android studio 中加载 AppCompat ActionBar,出现未知错误
Failed to load AppCompat ActionBar with unknown error in android studio
下面是我的 xml 文件。在预览中有两个错误“无法加载 AppCompat ActionBar,出现未知错误”和 'Failed to instaniate more than one class'。如何能够 运行 app.But 应用程序崩溃并且在 Logcat 中没有显示任何错误。
这是我的预览屏幕截图
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="506dp" />
<LinearLayout
android:id="@+id/layout_main"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1"
tools:context=".Activity.MainActivity">
<LinearLayout
android:id="@+id/main_layout"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.7"
tools:context=".Activity.MainActivity">
<!-- our tablayout to display tabs -->
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
app:tabMode="scrollable"
app:tabSelectedTextColor="@color/colorBlack"
app:tabTextColor="@color/colorWhite"
android:background="@color/colorOran"
android:minHeight="?attr/actionBarSize"
/>
<!-- View pager to swipe views -->
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
<LinearLayout
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="64dp"
android:layout_alignParentBottom="true"
android:background="#ffffff"
android:orientation="horizontal"
android:layout_weight="0.3"
android:weightSum="4"
tools:layout_editor_absoluteX="8dp"
android:layout_marginBottom="8dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<ImageView
android:id="@+id/btn_home"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:src="@drawable/ta_home_icon"
android:background="@color/colorOran"
android:layout_marginRight="1dp"
android:scaleType="fitCenter"/>
<ImageView
android:id="@+id/btn_new"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:src="@drawable/ta_todaydeals_icon"
android:background="@color/colorOran"
android:layout_marginRight="1dp"
android:scaleType="fitCenter"/>
<ImageView
android:id="@+id/btn_fav"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:src="@drawable/ta_fav_icon"
android:background="@color/colorOran"
android:layout_marginRight="1dp"
android:scaleType="fitCenter"/>
<ImageView
android:id="@+id/btn_auth"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:src="@drawable/ta_franchie_icon"
android:background="@color/colorOran"
android:scaleType="fitCenter"
android:layout_marginRight="1dp"
/>
</LinearLayout>
</LinearLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>
下面是appbar_main
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.jeyashri.kitchen.jeyashriskitchen.Activity.MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorOran"
app:popupTheme="@style/AppTheme.PopupOverlay">
<ImageView
android:id="@+id/app_logo"
android:layout_width="80dp"
android:layout_height="match_parent"
android:src="@drawable/img"/>
<ImageView
android:id="@+id/btn_social"
android:layout_width="75dp"
android:layout_height="35dp"
android:layout_marginRight="1dp"
android:src="@drawable/share_icon" />
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main" />
</android.support.design.widget.CoordinatorLayout>
此问题的解决方案取决于您使用的 Android 支持库的版本:
支持库26.0.0-beta2
此 android 支持库版本存在导致上述问题的错误
在您的 Gradle 构建文件中使用:
compile 'com.android.support:appcompat-v7:26.0.0'
与:
buildToolsVersion '26.0.0'
和
classpath 'com.android.tools.build:gradle:3.0.0-alpha8'
现在一切正常。
库版本 28(测试版)
这些新版本似乎又遇到了类似的问题。
在您的 res/values/styles.xml
中修改 AppTheme
样式
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
至
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
(注意添加的Base.
)
或者降级库直到问题解决:
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
在 android 3.0.0 canary 6 中,您必须将所有 2.6.0 beta2 更改为 beta1 (appcompat,design,supportvector)
试试这个:
只需更改:
compile 'com.android.support:appcompat-v7:26.0.0-beta2'
至:
compile 'com.android.support:appcompat-v7:26.0.0-beta1'
使用这个:
implementation 'com.android.support:appcompat-v7:26.0.0-beta1'
implementation 'com.android.support:design:26.0.0-beta1'
而不是
implementation 'com.android.support:appcompat-v7:26.0.0-beta2'
implementation 'com.android.support:design:26.0.0-beta2'
在我的例子中,它解决了渲染问题。
打开预览模式
按照以下 link 解决问题
修复 - 渲染问题无法找到以下 类:android.support.v7.internal
转到 appTheme ----> select Holo 主题 ---> 刷新
在这个网站上找到的,对我有效。
修改 /res/values/styles.xml 来自:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
</style>
至:
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
</style>
2018 年 6 月问题已通过使用不同的 appcompact 版本修复。
在您的项目依赖项中使用这些代码...
在build.gradle(模块:app)中添加这个依赖
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
快乐编码...:)
这是解决问题的最低配置。
使用:
dependencies {
...
implementation 'com.android.support:appcompat-v7:26.1.0'
...
}
与:
compileSdkVersion 26
buildToolsVersion "26.0.1"
并进入位于项目根目录内的 build.gradle 文件:
buildscript {
...
....
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
...
...
}
}
这对我有用 我在 Style.xml
中进行了以下更改
更改以下代码:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
与
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
我也遇到了同样的问题。没有什么比从布局预览更改主题更能帮助我了。window。
对我有帮助的是将此添加到 styles.xml
中的 Apptheme
:
dependencies {
implementation 'com.android.support:appcompat-v7:27.0.2'
implementation 'com.android.support:design:27.0.2'
}
它仍然给我错误:"cannot resolve symbol widget...coordinatorLayout"。然后我用
更新了我的 build.gradle(app)
dependencies {
implementation 'com.android.support:appcompat-v7:27.0.2'
implementation 'com.android.support:design:27.0.2'
}
还有一件事:
compileSdkVersion 27
targetSdkVersion 27
我 implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
也有这个问题。
我的解决方案是 File
-> Invalidate Caches / Restart
-> Invalidate
-> Close Project
-> 从项目 window 中删除项目 - > Open Project
(来自项目 window)。
方法一:
找到/res/values/styles.xml
改变
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
到
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
方法二:
修改模板文件(定位:android-studio/plugins/android/lib/templates/gradle-projects/NewAndroidModule/root/res/values/styles.xml.ftl
)
改变
backwardsCompatibility!true>Theme.AppCompat<#else><#if
到
backwardsCompatibility!true>Base.Theme.AppCompat<#else><#if
在 YouTube 上观看解决方案
将implementation 'com.android.support:appcompat-v7:28.0.0-beta01'
替换为
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
在 build.gradle(模块:应用程序)中。它修复了我在 Android Studio 3.1.3
中的红色标记
我也遇到了这个问题,已经解决了
从 res/values/styles.xml
更改行
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
到
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
两种解决方案都有效
在 Android Studio 3.1.3
中遇到同样的问题
只需转到style.xml文件
并替换主题名称
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
和
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
然后clean和rebuild project.This将解决错误。
下面是我的 xml 文件。在预览中有两个错误“无法加载 AppCompat ActionBar,出现未知错误”和 'Failed to instaniate more than one class'。如何能够 运行 app.But 应用程序崩溃并且在 Logcat 中没有显示任何错误。
这是我的预览屏幕截图
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="506dp" />
<LinearLayout
android:id="@+id/layout_main"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1"
tools:context=".Activity.MainActivity">
<LinearLayout
android:id="@+id/main_layout"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.7"
tools:context=".Activity.MainActivity">
<!-- our tablayout to display tabs -->
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
app:tabMode="scrollable"
app:tabSelectedTextColor="@color/colorBlack"
app:tabTextColor="@color/colorWhite"
android:background="@color/colorOran"
android:minHeight="?attr/actionBarSize"
/>
<!-- View pager to swipe views -->
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
<LinearLayout
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="64dp"
android:layout_alignParentBottom="true"
android:background="#ffffff"
android:orientation="horizontal"
android:layout_weight="0.3"
android:weightSum="4"
tools:layout_editor_absoluteX="8dp"
android:layout_marginBottom="8dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<ImageView
android:id="@+id/btn_home"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:src="@drawable/ta_home_icon"
android:background="@color/colorOran"
android:layout_marginRight="1dp"
android:scaleType="fitCenter"/>
<ImageView
android:id="@+id/btn_new"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:src="@drawable/ta_todaydeals_icon"
android:background="@color/colorOran"
android:layout_marginRight="1dp"
android:scaleType="fitCenter"/>
<ImageView
android:id="@+id/btn_fav"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:src="@drawable/ta_fav_icon"
android:background="@color/colorOran"
android:layout_marginRight="1dp"
android:scaleType="fitCenter"/>
<ImageView
android:id="@+id/btn_auth"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:src="@drawable/ta_franchie_icon"
android:background="@color/colorOran"
android:scaleType="fitCenter"
android:layout_marginRight="1dp"
/>
</LinearLayout>
</LinearLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>
下面是appbar_main
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.jeyashri.kitchen.jeyashriskitchen.Activity.MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorOran"
app:popupTheme="@style/AppTheme.PopupOverlay">
<ImageView
android:id="@+id/app_logo"
android:layout_width="80dp"
android:layout_height="match_parent"
android:src="@drawable/img"/>
<ImageView
android:id="@+id/btn_social"
android:layout_width="75dp"
android:layout_height="35dp"
android:layout_marginRight="1dp"
android:src="@drawable/share_icon" />
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main" />
</android.support.design.widget.CoordinatorLayout>
此问题的解决方案取决于您使用的 Android 支持库的版本:
支持库26.0.0-beta2
此 android 支持库版本存在导致上述问题的错误
在您的 Gradle 构建文件中使用:
compile 'com.android.support:appcompat-v7:26.0.0'
与:
buildToolsVersion '26.0.0'
和
classpath 'com.android.tools.build:gradle:3.0.0-alpha8'
现在一切正常。
库版本 28(测试版)
这些新版本似乎又遇到了类似的问题。
在您的 res/values/styles.xml
中修改 AppTheme
样式
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
至
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
(注意添加的Base.
)
或者降级库直到问题解决:
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
在 android 3.0.0 canary 6 中,您必须将所有 2.6.0 beta2 更改为 beta1 (appcompat,design,supportvector)
试试这个:
只需更改:
compile 'com.android.support:appcompat-v7:26.0.0-beta2'
至:
compile 'com.android.support:appcompat-v7:26.0.0-beta1'
使用这个:
implementation 'com.android.support:appcompat-v7:26.0.0-beta1'
implementation 'com.android.support:design:26.0.0-beta1'
而不是
implementation 'com.android.support:appcompat-v7:26.0.0-beta2'
implementation 'com.android.support:design:26.0.0-beta2'
在我的例子中,它解决了渲染问题。
打开预览模式
按照以下 link 解决问题
修复 - 渲染问题无法找到以下 类:android.support.v7.internal
转到 appTheme ----> select Holo 主题 ---> 刷新
在这个网站上找到的,对我有效。 修改 /res/values/styles.xml 来自:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
</style>
至:
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
</style>
2018 年 6 月问题已通过使用不同的 appcompact 版本修复。 在您的项目依赖项中使用这些代码...
在build.gradle(模块:app)中添加这个依赖
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
快乐编码...:)
这是解决问题的最低配置。
使用:
dependencies {
...
implementation 'com.android.support:appcompat-v7:26.1.0'
...
}
与:
compileSdkVersion 26
buildToolsVersion "26.0.1"
并进入位于项目根目录内的 build.gradle 文件:
buildscript {
...
....
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
...
...
}
}
这对我有用 我在 Style.xml
中进行了以下更改更改以下代码:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
与
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
我也遇到了同样的问题。没有什么比从布局预览更改主题更能帮助我了。window。
对我有帮助的是将此添加到 styles.xml
中的 Apptheme
:
dependencies {
implementation 'com.android.support:appcompat-v7:27.0.2'
implementation 'com.android.support:design:27.0.2'
}
它仍然给我错误:"cannot resolve symbol widget...coordinatorLayout"。然后我用
更新了我的build.gradle(app)
dependencies {
implementation 'com.android.support:appcompat-v7:27.0.2'
implementation 'com.android.support:design:27.0.2'
}
还有一件事:
compileSdkVersion 27
targetSdkVersion 27
我 implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
也有这个问题。
我的解决方案是 File
-> Invalidate Caches / Restart
-> Invalidate
-> Close Project
-> 从项目 window 中删除项目 - > Open Project
(来自项目 window)。
方法一:
找到/res/values/styles.xml
改变
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
到
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
方法二:
修改模板文件(定位:android-studio/plugins/android/lib/templates/gradle-projects/NewAndroidModule/root/res/values/styles.xml.ftl
)
改变
backwardsCompatibility!true>Theme.AppCompat<#else><#if
到
backwardsCompatibility!true>Base.Theme.AppCompat<#else><#if
在 YouTube 上观看解决方案
将implementation 'com.android.support:appcompat-v7:28.0.0-beta01'
替换为
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
在 build.gradle(模块:应用程序)中。它修复了我在 Android Studio 3.1.3
中的红色标记我也遇到了这个问题,已经解决了 从 res/values/styles.xml
更改行<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
到
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
两种解决方案都有效
在 Android Studio 3.1.3
中遇到同样的问题只需转到style.xml文件
并替换主题名称
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
和
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
然后clean和rebuild project.This将解决错误。