Không thể tải AppCompat ActionBar mà không biết lỗi trong studio android


153

Dưới đây là tập tin xml của tôi. Trong bản xem trước, có hai lỗi 'Không thể tải AppCompat ActionBar mà không biết lỗi' & 'Không thể kích hoạt nhiều hơn một lớp'. Làm thế nào có thể chạy ứng dụng. Nhưng ứng dụng gặp sự cố và trong Logcat không có lỗi nào được hiển thị.

Đây là ảnh chụp màn hình xem trước của tôinhập mô tả hình ảnh ở đây

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

Dưới đây là 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>

Hãy thử với việc thay đổi phiên bản Android.
chetan mekha

đã thử thay đổi phiên bản .. Không giúp được
Siva

Để biết giải pháp mà không thay đổi thư viện appcompat, hãy xem: stackoverflow.com/questions/44223687#45002903
Mr-IDE

Có thể trùng lặp các sự cố kết xuất Android Studio
Shaya

Hãy chắc chắn rằng phiên bản Gradle của bạn được cập nhật.
Ramiz Ansari

Câu trả lời:


323

Giải pháp cho vấn đề này phụ thuộc vào phiên bản thư viện hỗ trợ Android bạn đang sử dụng:

Thư viện hỗ trợ 26.0.0-beta2

Phiên bản thư viện hỗ trợ Android này có lỗi gây ra sự cố được đề cập

Trong tập tin xây dựng Gradle của bạn sử dụng:

compile 'com.android.support:appcompat-v7:26.0.0'

với:

buildToolsVersion '26.0.0' 

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

mọi thứ nên hoạt động tốt


Thư viện phiên bản 28 (beta)

Những phiên bản mới này dường như lại gặp khó khăn tương tự.

Trong bản res/values/styles.xmlsửa đổi của bạn AppThemetừ

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

đến

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

(lưu ý thêm Base.)

Hoặc thay thế hạ cấp thư viện cho đến khi vấn đề được khắc phục:

implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'

23
Cảm ơn bạn! đã làm điều đó. BTW đối với chúng tôi Android dev newbiew rất lo lắng khi nói rằng thay đổi nên được thực hiện trên tệp build.gradle (Module: ứng dụng)
Julian Borrero

2
Tôi chỉ bắt đầu ngày hôm nay. Tôi đã gặp vấn đề này. Câu trả lời này yêu cầu biên dịch một cái gì đó, trong đó tôi không biết vì nó không giải thích làm thế nào để làm điều đó. Nhưng câu trả lời của tanchap giải quyết vấn đề. Anh ấy / Cô ấy giải thích rõ ràng phải làm gì. Đó là một nhiệm vụ đơn giản cho một người mới như tôi. Vì vậy, tôi nghĩ rằng đó nên là câu trả lời.
Buddhaika Ariyaratne 7/07/18

1
Lỗi Newb cho tôi! Khi tôi thiết lập dự án mới của mình, tôi đã quên bỏ chọn tùy chọn "Tương thích ngược" (Tôi không cần khả năng tương thích ngược). Tôi đã tạo lại dự án với điều này không được kiểm tra và tất cả đều tốt!
Doug J. Huras

7
Chỉ tò mò: làm thế nào mà người ta lại tìm ra thứ gì đó như thế này? Tôi sẽ không bao giờ đoán được ...
BareMetalCoder

3
Cảm ơn, nhưng tại sao lỗi này vẫn tồn tại trong năm 2018? Đối với một người mới sử dụng Android, tôi không thể tạo dự án "Hello World" vì lỗi này.
Searene

276

tìm thấy nó trên trang web này, nó hoạt động trên tôi. Sửa đổi /res/values/styles.xml từ:

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

đến:

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

21
Bạn có thể thêm một lời giải thích tại sao điều này làm việc? Nó sẽ giúp những người xem lại điều này trong tương lai.
Thomas Smyth

13
Ngày 1 tháng 3 năm 2018 đã xác nhận vấn đề này của tôi.
John Riselvato

Chỉ cần lưu ý rằng, nếu nó không hoạt động sau khi thêm "Base" trong AppTheme của bạn, chỉ cần chọn Tùy chọn chủ đề từ đầu bản xem trước bố cục của bạn, Nhấp vào Tùy chọn Menifest từ bên trái, sau đó chọn AppTheme của bạn. Nó sẽ tự động làm mới bố cục.
Khaled Saif

4
Điều này cũng làm việc cho tôi. Có ai biết tại sao điều này là cần thiết, mặc dù? Tôi đã rời xa Android được vài năm và tôi không thể tin được mình đã phải làm bao nhiêu để hoàn thành một dự án đơn giản. (Điều này bao gồm cố gắng xây dựng / chạy một số dự án mẫu do Android Studio cung cấp.)
pdoherty926

2
Tháng 7, 16, 2018, cũng hoạt động với tôi với 'com.android.support:appcompat-v7:28.0.0-alpha3'.
CoolMind

26

Sự cố tháng 6 năm 2018 đã được khắc phục bằng cách sử dụng một phiên bản appcompact khác. Sử dụng các mã này vào các phụ thuộc dự án của bạn ...

Trong build.gradle (Module: ứng dụng) thêm phụ thuộc này

implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'

Mã hóa hạnh phúc ... :)


4
Nó lại bị hỏng trong phiên bản beta :(
nifCody

17

Cách 1:

Định vị /res/values/styles.xml

Thay đổi

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

Đến

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

Cách 2:

Sửa đổi tệp mẫu (xác định vị trí android-studio/plugins/android/lib/templates/gradle-projects/NewAndroidModule/root/res/values/styles.xml.ftl:)

Thay đổi

backwardsCompatibility!true>Theme.AppCompat<#else><#if

Đến

backwardsCompatibility!true>Base.Theme.AppCompat<#else><#if

Xem giải pháp trên YouTube

Giải pháp


17

Tôi cũng gặp vấn đề này và nó đã được giải quyết dưới dạng dòng thay đổi từ res / value / Styles.xml

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

đến

  1. <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
  2. <style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">

cả hai giải pháp đều hiệu quả


mã hóa hạnh phúc :)
Muhammad Azam

6

Mở chế độ xem trước

theo liên kết dưới đây để khắc phục vấn đề

Khắc phục - Kết xuất sự cố Không thể tìm thấy các lớp sau: android.support.v7.iternal

goto appTheme ----> chọn Holo Theme ---> refresh

https://www.youtube.com/watch?v=4MxBnwpcUjA


1
chỉ thay đổi chủ đề từ khung xem trước sang một số chủ đề khác ngoài AppTheme đã hoạt động
Qasim

Nó hoạt động với tôi, chỉ thay đổi chủ đề khác ngoài AppTheme
gIrL

6

Đối mặt với cùng một vấn đề trong Android Studio 3.1.3

Chỉ cần truy cập tệp style.xml

và thay thế tên chủ đề

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

với

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

Sau đó dọn dẹpxây dựng lại dự án. Điều này sẽ giải quyết lỗi.


5

Thay thế implementation 'com.android.support:appcompat-v7:28.0.0-beta01' bằng

implementation 'com.android.support:appcompat-v7:28.0.0-alpha1' 

trong build.gradle (Module: ứng dụng). Nó đã sửa dấu đỏ của tôi trong Android Studio 3.1.3


Mã hóa hạnh phúc tuyệt vời
Kashif

Có cách nào để thay đổi điều này ở cấp ứng dụng không? Vì vậy, điều này không cần phải được nhân rộng cho mọi dự án mà tôi có.
TheGeeko61

4

trong Android 3.0.0 canary 6, bạn phải thay đổi tất cả 2.6.0 beta2 thành beta1 (appcompat, design, supportvector)


4

Thử cái này:

Chỉ là sự thay đổi:

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

đến:

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

Tài liệu tham khảo


3

Đây là công việc đối với tôi, tôi đã thực hiện các thay đổi sau trong Style.xml

Thay đổi mã sau đây:

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

Với

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

2

Sử dụng cái này:

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

thay vì

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

Trong trường hợp của tôi, nó đã loại bỏ vấn đề kết xuất.


1

Đây là cấu hình tối thiểu giải quyết vấn đề.

sử dụng:

dependencies {
    ...
    implementation 'com.android.support:appcompat-v7:26.1.0'
    ...
}

với:

 compileSdkVersion 26
 buildToolsVersion "26.0.1"

và vào tệp build.gradle nằm bên trong thư mục gốc của proyect:

buildscript {
    ...
    ....
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        ...
        ...
    }
}

0

Tôi cũng đang đối mặt với vấn đề tương tự. Không có gì giống như thay đổi chủ đề từ cửa sổ xem trước Bố cục đã giúp tôi.

Điều gì đã giúp tôi đã thêm điều này Appthemevào styles.xml:

dependencies {
    implementation 'com.android.support:appcompat-v7:27.0.2'
    implementation 'com.android.support:design:27.0.2'
}

Tuy nhiên, nó vẫn báo lỗi cho tôi: "không thể giải quyết widget biểu tượng ... điều phối viênLayout". Sau đó, tôi cập nhật build.gradle(app)với:

dependencies {
    implementation 'com.android.support:appcompat-v7:27.0.2'
    implementation 'com.android.support:design:27.0.2'
}

Một điều nữa:

compileSdkVersion 27
targetSdkVersion 27

0

Tôi cũng gặp vấn đề này với implementation 'com.android.support:appcompat-v7:28.0.0-alpha3' .

Giải pháp cho tôi là đi File-> Invalidate Caches / Restart-> Invalidate-> Close Project-> Xóa dự án khỏi cửa sổ dự án -> Open Project(khỏi cửa sổ dự án).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.