Nie udało się załadować AppCompat ActionBar z nieznanym błędem w Android Studio

153

Poniżej znajduje się mój plik xml. W podglądzie są dwa błędy: „Nie udało się załadować AppCompat ActionBar z nieznanym błędem” i „Nie udało się zainstalować więcej niż jednej klasy”. Jak kiedykolwiek mogę uruchomić aplikację, ale aplikacja ulega awarii i w Logcat nie są wyświetlane żadne błędy.

To jest mój zrzut ekranu podgląduwprowadź opis obrazu tutaj

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

Poniżej znajduje się 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>
Siva
źródło
Spróbuj zmienić wersję Androida.
chetan mekha
próbował zmienić wersję. Nie pomagam
Siva,
Aby uzyskać rozwiązanie bez zmiany biblioteki appcompat, zobacz: stackoverflow.com/questions/44223687#45002903
Mr-IDE
Możliwe duplikaty problemów z renderowaniem
Shayan
Upewnij się, że Twoja wersja Gradle jest aktualna.
Ramiz Ansari,

Odpowiedzi:

323

Rozwiązanie tego problemu zależy od używanej wersji biblioteki obsługi Androida:

Biblioteka wsparcia 26.0.0-beta2

Ta wersja biblioteki obsługi systemu Android zawiera błąd powodujący wspomniany problem

W pliku kompilacji Gradle użyj:

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

z:

buildToolsVersion '26.0.0' 

i

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

wszystko powinno teraz działać dobrze.


Wersja biblioteki 28 (beta)

Wydaje się, że te nowe wersje znowu mają podobne trudności.

W swoim res/values/styles.xmlzmodyfikuj AppThemestyl z

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

do

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

(zwróć uwagę na dodane Base.)

Lub alternatywnie obniż wersję biblioteki do czasu rozwiązania problemu:

implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
Debashis Choudhury
źródło
23
Dziękuję Ci! to zrobiło to. BTW dla nas Android dev newbiew mówi, że zmianę należy wykonać w pliku build.gradle (moduł: aplikacja)
Julian Borrero
2
Właśnie dzisiaj zacząłem. Natknąłem się na ten problem. Ta odpowiedź prosi o skompilowanie czegoś, o czym nie mam pojęcia, ponieważ nie wyjaśnia, jak to zrobić. Ale odpowiedź tanchap rozwiązuje problem. Jasno wyjaśnił, co ma robić. To było proste zadanie dla świeższej osoby, takiej jak ja. Więc myślę, że to powinna być odpowiedź.
Buddhika Ariyaratne
1
Błąd Newb dla mnie! Kiedy konfigurowałem nowy projekt, zapomniałem odznaczyć opcję „Wsteczna kompatybilność” (nie potrzebuję wstecznej zgodności). Ponownie stworzyłem projekt bez zaznaczenia tego i wszystko jest w porządku!
Doug J. Huras
7
Po prostu ciekawy: jak można coś takiego wymyślić? Nigdy bym nie zgadł ...
BareMetalCoder
3
Dzięki, ale dlaczego ten błąd nadal istnieje w 2018 roku? Dla początkujących użytkowników Androida nie mogę utworzyć projektu „Hello World” z powodu tego błędu.
Searene
276

znalazłem to na tej stronie, działa na mnie. Zmodyfikuj /res/values/styles.xml z:

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

do:

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
</style>
tanchap
źródło
21
Czy możesz dodać wyjaśnienie, dlaczego to działa? Pomoże ludziom, którzy powrócą do tego w przyszłości.
Thomas Smyth
13
1 marca 2018 r. Potwierdził, że rozwiązało to mój problem.
John Riselvato
Zwróć uwagę, że jeśli to nie działa po dodaniu "Base" do twojego AppTheme, po prostu przejdź do opcji motywu z góry podglądu układu, kliknij opcje Menifest Themes z lewej strony, a następnie wybierz AppTheme. Automatycznie odświeży układ.
Khaled Saif,
4
To też zadziałało dla mnie. Czy ktoś jednak wie, dlaczego jest to konieczne? Od kilku lat nie korzystam z Androida i nie mogę uwierzyć, ile pieniędzy musiałem zrobić, aby uruchomić i uruchomić prosty projekt. (Obejmuje to próbę zbudowania / uruchomienia niektórych przykładowych projektów dostarczonych przez Android Studio.)
pdoherty926
2
16 lipca 2018 r. Również dla mnie działa z „com.android.support:appcompat-v7:28.0.0-alpha3”.
CoolMind,
26

Problem z czerwca 2018 rozwiązany przez użycie innej wersji appcompact. Użyj tych kodów w zależnościach projektu ...

W build.gradle (Module: app) dodaj tę zależność

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

Miłego kodowania ... :)

Abhishek
źródło
4
Znowu jest zepsuty w wersji beta :(
nifCody
17

Metoda 1:

Znajdź /res/values/styles.xml

Zmiana

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

Do

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

Metoda 2:

Zmodyfikuj plik szablonu (zlokalizuj: android-studio/plugins/android/lib/templates/gradle-projects/NewAndroidModule/root/res/values/styles.xml.ftl )

Zmiana

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

Do

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

Obejrzyj rozwiązanie na YouTube

Rozwiązanie

shellhub
źródło
17

Miałem też ten problem i został on rozwiązany jako zmiana linii z res / values ​​/ styles.xml

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

do

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

oba rozwiązania zadziałały

Muhammad Azam
źródło
szczęśliwego kodowania :)
Muhammad Azam
6

Otwórz tryb podglądu

skorzystaj z poniższego łącza, aby rozwiązać problem

Poprawka - problemy z renderowaniem Nie można znaleźć następujących klas: android.support.v7.internal

goto appTheme ----> wybierz Holo Theme ---> odśwież

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

Upendranath Reddy
źródło
1
tylko zmiana motywu z okienka podglądu na inny motyw niż AppTheme działał
Qasim
U mnie zadziałało, po prostu zmieniłem motyw inny niż AppTheme
gIrL
6

Napotkano ten sam problem w Android Studio 3.1.3

Po prostu przejdź do pliku style.xml

i zamień nazwę motywu

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

z

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

Następnie wyczyść i odbuduj projekt, co rozwiąże problem.

Md Nakibul Hassan
źródło
5

wymienić implementation 'com.android.support:appcompat-v7:28.0.0-beta01' z

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

w build.gradle (moduł: aplikacja). Naprawiono mój czerwony znak w Android Studio 3.1.3

Kashif
źródło
Świetne szczęśliwe kodowanie
Kashif
Czy można to zmienić na poziomie aplikacji? Aby nie trzeba było tego powtarzać dla każdego projektu, który mam.
TheGeeko61
4

w Androidzie 3.0.0 Canary 6 musisz zmienić wszystkie 2.6.0 beta2 na beta1 (appcompat, design, supportvector)

reza rahmad
źródło
4

Spróbuj tego:

Po prostu zmień:

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

do:

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

Odniesienie

VY
źródło
3

To działa dla mnie Dokonałem następujących zmian w Style.xml

Zmień następujący kod:

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

Z

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
dev_mg99
źródło
2

Użyj tego:

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

zamiast

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

W moim przypadku usunęło to problem z renderowaniem.

vikash singh
źródło
1

To jest minimalna konfiguracja, która rozwiązuje problem.

posługiwać się:

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

z:

 compileSdkVersion 26
 buildToolsVersion "26.0.1"

i do pliku build.gradle znajdującego się w katalogu głównym projektu:

buildscript {
    ...
    ....
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        ...
        ...
    }
}
Jorgesys
źródło
0

Miałem też ten sam problem. Nic tak nie pomogło, jak zmiana motywu w oknie podglądu układu.

Pomogło mi dodanie tego Appthemew styles.xml:

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

Mimo to dawał mi błąd: „nie można rozwiązać widżetu symboli ... koordynator Układ”. Następnie zaktualizowałem mój build.gradle(app)o:

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

Jeszcze jedna rzecz:

compileSdkVersion 27
targetSdkVersion 27
Anu Bhalla
źródło
0

Ja też miałem ten problem z implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'.

Rozwiązaniem dla mnie było przejście File->Invalidate Caches / Restart -> Invalidate-> Close Project-> Usuń projekt z okna projektu -> Open Project(z okna projektu).

SnuKies
źródło