Impossibile caricare AppCompat ActionBar con errore sconosciuto in Android Studio


153

Di seguito è il mio file XML. Nell'anteprima sono presenti due errori "Impossibile caricare AppCompat ActionBar con errore sconosciuto" e "Impossibile installare più di una classe". Tuttavia, sono in grado di eseguire l'app, ma l'app si arresta in modo anomalo e in Logcat non vengono visualizzati errori.

Questa è la mia schermata di anteprimainserisci qui la descrizione dell'immagine

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

Di seguito è 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>

Prova a cambiare la versione di Android.
Chetan Mekha,

provato a cambiare la versione .. Non aiuta
Siva

Per una soluzione senza modificare la libreria di appcompat, vedere: stackoverflow.com/questions/44223687#45002903
Mr-IDE,

Possibile duplicato di problemi di rendering
Shayan,

Assicurati che la tua versione Gradle sia aggiornata.
Ramiz Ansari,

Risposte:


323

La soluzione a questo problema dipende dalla versione della libreria di supporto Android che stai utilizzando:

Biblioteca di supporto 26.0.0-beta2

Questa versione della libreria di supporto Android ha un bug che causa il problema menzionato

Nel tuo file di build Gradle usa:

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

con:

buildToolsVersion '26.0.0' 

e

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

tutto dovrebbe funzionare bene ora.


Libreria versione 28 (beta)

Queste nuove versioni sembrano nuovamente soffrire di difficoltà simili.

Nella tua res/values/styles.xmlmodifica lo AppThemestile da

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

per

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

(nota l'aggiunta Base.)

In alternativa, eseguire il downgrade della libreria fino a quando il problema non viene risolto:

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

23
Grazie! quello lo ha fatto. BTW per noi Android dev newbiew sta dicendo che la modifica dovrebbe essere eseguita sul file build.gradle (Modulo: app)
Julian Borrero,

2
Ho appena iniziato oggi. Mi sono imbattuto in questo problema. Questa risposta chiede di compilare qualcosa, di cui non ho idea in quanto non spiega come farlo. Ma la risposta di tanchap risolve il problema. Ha spiegato chiaramente cosa fare. Era un compito semplice per una persona più fresca come me. Quindi penso che dovrebbe essere la risposta.
Buddhika Ariyaratne,

1
Errore Newb per me! Quando ho impostato il mio nuovo progetto, ho dimenticato di deselezionare l'opzione "Compatibilità con le versioni precedenti" (non ho bisogno di compatibilità con le versioni precedenti). Ho ricreato il progetto con questo deselezionato e tutto va bene!
Doug J. Huras,

7
Solo curioso: come si fa a capire qualcosa del genere? Non avrei mai immaginato ...
BareMetalCoder

3
Grazie, ma perché questo bug esiste ancora nel 2018? Per un principiante Android, non riesco a creare un progetto "Hello World" a causa di questo errore.
Searene,

276

trovato su questo sito, funziona su di me. Modifica /res/values/styles.xml da:

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

per:

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

21
Puoi aggiungere una spiegazione del perché funziona? Aiuterà le persone che lo rivisiteranno in futuro.
Thomas Smyth,

13
Il 1 ° marzo 2018 ha confermato che il problema è stato risolto.
John Riselvato,

Tieni presente che, se non funziona dopo aver aggiunto "Base" nel tuo AppTheme, vai all'opzione Tema dalla parte superiore dell'anteprima del layout, fai clic su Temi manifest dalle opzioni sul lato sinistro e seleziona AppTheme. Aggiorna automaticamente il layout.
Khaled Saif

4
Questo ha funzionato anche per me. Qualcuno sa perché questo è necessario, però? Sono stato lontano da Android per alcuni anni e non riesco a credere a quanto ho dovuto fare per ottenere un progetto semplice. (Ciò include il tentativo di creare / eseguire alcuni dei progetti di esempio forniti da Android Studio.)
pdoherty926

2
16 luglio 2018, funziona anche per me con 'com.android.support:appcompat-v7:28.0.0-alpha3'.
CoolMind,

26

Giugno 2018 Problema risolto utilizzando un'altra versione di appcompact. Usa questi codici sulle dipendenze del tuo progetto ...

In build.gradle (Modulo: app) aggiungi questa dipendenza

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

Buona programmazione ... :)


4
È di nuovo rotto in beta :(
nifCody il

17

Metodo 1:

Individuare /res/values/styles.xml

Modificare

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

Per

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

Metodo 2:

File modello Modifica (locate: android-studio/plugins/android/lib/templates/gradle-projects/NewAndroidModule/root/res/values/styles.xml.ftl)

Modificare

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

Per

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

Guarda la soluzione su YouTube

Soluzione


17

Ho anche avuto questo problema ed è stato risolto come linea di cambiamento da res / valori / styles.xml

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

per

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

entrambe le soluzioni hanno funzionato


happy coding :)
Muhammad Azam,

6

Apri la modalità di anteprima

segui il link qui sotto per risolvere il problema

Correzione - Problemi di rendering Impossibile trovare le seguenti classi: android.support.v7.internal

vai a appTheme ----> seleziona Tema Holo ---> aggiorna

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


1
semplicemente cambiando tema dal riquadro di anteprima a un tema diverso da AppTheme ha funzionato
Qasim il

Ha funzionato per me, solo cambiando il tema diverso da AppTheme
gIrL il

6

Di fronte allo stesso problema in Android Studio 3.1.3

Vai al file style.xml

e sostituisci il nome del tema

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

con

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

Quindi ripulisci e ricostruisci il progetto per risolvere l'errore.


5

Sostituisci implementation 'com.android.support:appcompat-v7:28.0.0-beta01' con

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

in build.gradle (Modulo: app). Ha corretto il mio segno rosso in Android Studio 3.1.3


Grande codifica felice
Kashif

C'è un modo per cambiarlo a livello di app? In modo che questo non debba essere replicato per ogni progetto che ho.
TheGeeko61,

4

in Android 3.0.0 canary 6 devi cambiare tutti i 2.6.0 da beta2 a beta1 (appcompat, design, supportvector)


4

Prova questo:

Basta cambiare:

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

per:

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

Riferimento


3

Questo ha funzionato per me ho apportato le seguenti modifiche in Style.xml

Modifica il seguente codice:

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

Con

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

2

Usa questo:

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

invece di

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

Nel mio caso ha rimosso il problema di rendering.


1

Questa è la configurazione minima che risolve il problema.

uso:

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

con:

 compileSdkVersion 26
 buildToolsVersion "26.0.1"

e nel file build.gradle situato nella radice del proyect:

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

0

Stavo anche affrontando lo stesso problema. Niente come cambiare tema dalla finestra di anteprima del layout mi ha aiutato.

Ciò che mi ha aiutato è stato l'aggiunta di questo Appthemein styles.xml:

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

Tuttavia mi stava dando l'errore: "impossibile risolvere il simbolo del widget ... coordinatorLayout". Quindi ho aggiornato il mio build.gradle(app)con:

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

Un'altra cosa:

compileSdkVersion 27
targetSdkVersion 27

0

Ho avuto anche questo problema con implementation 'com.android.support:appcompat-v7:28.0.0-alpha3' .

La soluzione per me era quella di andare File-> Invalidate Caches / Restart-> Invalidate-> Close Project-> Rimuovi progetto dalla finestra del progetto -> Open Project(dalla finestra del progetto).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.