android gradle - Errore nel recupero del genitore per l'articolo:Nessuna risorsa trovata che corrisponde al nome dato dopo l'aggiornamento a AppCompat v23




site server (20)

Dovresti compilare il tuo progetto con la versione più recente, quindi aggiorna e installa dal tuo SDK. Sincronizza il tuo progetto con il progetto di sync project with Gradle file pulsante sync project with Gradle file .
Puoi anche continuare con la versione esistente ma controllare che sia installata correttamente sotto l'immagine indica che l'API 22 è stata installata correttamente.

E sincronizza il tuo progetto se necessario.

potrebbe essere d'aiuto

Ho sempre programmato Android con Eclipse e ho deciso di iniziare la migrazione su Android Studio . Ho deciso di utilizzare lo stesso SDK che avevo già per Eclipse, quindi:

  • Ha iniziato un nuovo progetto
  • Imposta minimo SDK 4.0 (livello API 14)
  • Scegli l'opzione Attività vuote
  • Utilizzato i nomi predefiniti per Nome attività e Nome layout
  • Hit Finish

Dopo pochi secondi Gradle termina la compilazione e mi lancia due errori con i seguenti messaggi nel file Teste4 \ app \ build \ intermediates / exploded-aar \ com.android.support \ appcompat-v7 \ 23.0.0 \ res \ values -v23 \ valori-v23.xml:

Errore: (2) Errore nel recupero del genitore per l'articolo: Nessuna risorsa trovata che corrisponde al nome indicato 'android: TextAppearance.Material.Widget.Button.Inverse'.

Errore: (2) Errore nel recupero del genitore per l'articolo: Nessuna risorsa trovata che corrisponde al nome indicato 'android: Widget.Material.Button.Colored'.

Sotto File -> Struttura del progetto -> Moduli: app (colonna a sinistra) -> scheda Proprietà , ho impostato le seguenti versioni:

  • "Compila versione Sdk": Android 5.1 (livello API 22)
  • "Build Tools Version": 23.0.2

Cosa dovrei fare per risolvere questo problema?

Ho già provato ciò che è stato suggerito nella domanda appcompat-v7: 21.0.0 ': Nessuna risorsa trovata che corrisponde al nome specificato: attr' android: actionModeShareDrawable ' , ma non ha funzionato.


Se si utilizza phonegap (multipiattaforma) e si è verificato lo stesso problema sopra, è sufficiente rimuovere la piattaforma Android utilizzando il comando di seguito.

piattaforma phonegap rimuovere Android

E aggiungilo di nuovo.

piattaforma phonegap aggiungere Android

Quindi il problema è risolto per me.


Un'altra soluzione: navigare verso

\sdk\extras\android\m2repository\com\android\support\appcompat-v7\23.x.x

aprire il file .aar con 7-zip o winrar, nella cartella res rimuovere la cartella values-23 e salvare le modifiche.


Ho trovato la soluzione, il problema è iniziato quando ho aggiornato sdk, dopo che ho usato diversi buildToolsVersion ('22 .0.1 ') e stavo usando una libreria di supporto diversa come compile' com.android.support:appcompat-v7:23.0.0 ' , mostrandoti nell'immagine qui sotto

Questo stava sollevando il problema di " android.widget.Material ..." Poi ho usato la stessa versione per la libreria di supporto come compilare 'com.android.support:appcompat-v7:22.0.1' e il suo DONE. (Mostrandoti sotto l'immagine)


Questo è ciò che mi ha aiutato: aggiungere una piattaforma Android specifica

Quello che dovrebbe essere fatto è il seguente ... Nel mio caso si trattava di cordova ma lo stesso è rilevante per ionic phonegap ionic , phonegap e altri come questi:

  1. elenca tutte le piattaforme installate per il tuo progetto: cordova platform list . Vedrai qualcosa di simile a questo:

  1. rimuovere la piattaforma Android: la cordova platform remove android .

  2. quindi aggiungi la piattaforma Android specifica: la cordova platform add [email protected] .

In bocca al lupo! :)


La versione di SDK compilata deve corrispondere alla versione principale della libreria di supporto.

Poiché stai utilizzando la versione 23 della libreria di supporto, devi compilare la versione 23 di Android SDK.

In alternativa puoi continuare a compilare la versione 22 di Android SDK passando all'ultima libreria di supporto v22.


Volevo effettuare il downgrade da API 23 a 22 e ho ricevuto questo errore. Ho dovuto cambiare tutti i file build.gradle in un progetto per compilare.

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.yourapp.app"
        minSdkVersion 14
        targetSdkVersion 22
    }
...
dependencies {
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile 'com.android.support:support-v4:22.2.1'
    compile 'com.android.support:design:22.2.1'
    compile 'com.google.android.gms:play-services-gcm:10.0.1'
}

La versione di SDK compilata deve corrispondere alla versione principale della libreria di supporto. Questa è la soluzione al tuo problema. Puoi controllarlo facilmente negli script Gradle nel file build.gradle . Fx: se compileSdkVersion è 23 la tua libreria di compilazione deve iniziare a 23.

  compileSdkVersion 23
    buildToolsVersion "23.0.0"
    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 340
        versionName "3.4.0"
    }
dependencies {
    compile 'com.android.support:appcompat-v7:23.1.0'
    compile 'com.android.support:recyclerview-v7:23.0.1'
}

E controlla sempre che il tuo Android Studoi abbia il livello API supportato. Puoi controllarlo nel tuo SDK Android, in questo modo:


Assicurati che tutti questi siano aggiornati.


Come sottolineato da Tanis.7x, la versione della libreria di supporto (23) non corrisponde a targetSdkVersion (22)

Puoi risolvere questo problema procedendo nel seguente modo:

Nel file build.grade del modulo dell'app, modificare la seguente riga di codice

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

A

compile 'com.android.support:appcompat-v7:22.+'

Verrà utilizzata l'ultima versione della versione appcompat compatibile con SdkVersion 22.


Nel mio caso si trattava di una versione più alta dei servizi di gioco di Google. Li ho impostati su 7.0.0 (non 8.x) e tutto era ok.


È necessario impostare compileSdkVersion su 23.

Poiché API 23 Android ha rimosso i pacchetti deprecati di Apache Http, quindi se li si utilizza per le richieste del server, è necessario aggiungere useLibrary 'org.apache.http.legacy' a build.gradle come indicato in questo collegamento:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"
    ...

    //only if you use Apache packages
    useLibrary 'org.apache.http.legacy'
}

Se hai provato a cambiare la destinazione a una versione precedente di GooglePlayServices o AppCompatv7 e non funziona, verifica se hai una dipendenza da librerie di progetto, questo progetto sarà destinato alla versione più recente di ognuna di queste librerie. Mi è successo con il progetto Google Maps Utils Library:

sostituire:

compile 'com.google.android.gms:play-services:+'

a

compile 'com.google.android.gms:play-services:8.3.0'

Quindi puoi continuare con l'API 22 per il targeting completo

Se ancora non viene compilato, a volte è utile impostare API compileSdkVersion su 23 e targetSdkVersion su 22.


Quando aggiorni Android Studio, per impostazione predefinita utilizza la versione 23 dell'API, che è la ragione principale della sua occorrenza. Così,

Per prima cosa, controlla la versione di AppCompat in build.gradle (Modulo: app) Ovvero,

Se dopo aver cambiato a 23 si verifica un errore, quindi basta scaricare

Compile Sdk Version to API 23, and Build Tools Version to 23.0.0

dal responsabile SDK. Se già scaricato, allora:

1. Go to SDK Manager and
2. Under Project Structure, change *Compile SDK Version* to API 23, and *Build Tools Version* to 23.0.0

Fai clic sul pulsante SDK Manager e apri la finestra di dialogo.

Fai clic su Piattaforma SDK e verifica se Android 6.0 è stato scaricato o meno.

in caso contrario, quindi scaricare prima. Dopo aver completato il download, fare clic su Applica .

Ora devi applicare le modifiche al tuo progetto dalle impostazioni. Quindi premi Ctrl + Alt + Maiusc + S per aprire le impostazioni

  1. Fai clic su app dall'elenco.
  2. Clicca proprietà
  3. Cambia la versione del tuo Compile SDK in API 23
  4. Cambia la versione degli strumenti di costruzione su 23.0.0

Non dimenticare di ricostruire il tuo progetto.

Allora il tuo errore sarà sparito.


Tutto è perfetto ma nessuno di voi ha spiegato dove scaricare gli strumenti di sviluppo dell'SDK


android {
    compileSdkVersion 23
    buildToolsVersion '23.0.1'

defaultConfig {
    applicationId ""
    minSdkVersion 14
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
  }
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.code.gson:gson:2.3.1'
compile 'com.android.support:recyclerview-v7:23.0.0'
compile 'com.android.support:appcompat-v7:23.0.1'
}

sul modulo: app (Gradle)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.namepack.nameappxxxxx"
        minSdkVersion 16
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
}

progetto: nameAppXXXX (Gradle)

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'

    }
}

allprojects {
    repositories {
        jcenter()
    }
}

e modifica la tua attività di AppCompatActivity ad esempio Attività:

package com.namepack.nameappxxxxx;


import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;

public class NameClass extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);
    }


}

Ciò accade perché dopo gli aggiornamenti Android Studio utilizza la versione 23 dell'API per impostazione predefinita.

Quanto segue ha funzionato per me:

Premi Ctrl + Maiusc + Alt + S per andare alla pagina della struttura del progetto. Vai alla scheda delle proprietà e modifica da 23.0.0 a 22.0.1 (o equivalente a quello che stavi utilizzando in precedenza) nell'area dello strumento di creazione e ricostruisci il tuo progetto.

Se ciò non funziona, vai a gradle: app e poi

compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.1'

Modifica v7: da 23.0.0 a v7: 22.2.1 come mostrato sopra e sync gradle. Questo funzionerà sicuramente.


Se ricevi errori anche dopo aver scaricato il nuovo SDK e Android Studio, ecco cosa ho fatto:

  1. Scarica l'SDK più recente
  2. Apri file: struttura del progetto ( Ctrl + Alt + Maiusc + S )
  3. Nei moduli, seleziona l'app
  4. Nella scheda delle proprietà: Modifica versione SDK compilata in API 23 Android 6.0 marshmallow (più recente)

Spero che aiuti qualcuno in modo che non soffrirà come ho fatto per questi due giorni.


Im probabilmente 1 anno di ritardo per rispondere a questo. Ho trovato una soluzione. Eccolo, aggiungi layout_marginBottom nella visualizzazione scroll nidificata:

<?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:id="@+id/main_coord_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.android.minhnguyencv.MainActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="256dp"
        android:id="@+id/appbar"
        android:theme="@style/AppTheme.AppBarOverlay"
        app:elevation="4dp">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapse_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_scrollFlags = "scroll|exitUntilCollapsed"
            app:contentScrim="@color/colorPrimary"
            android:fitsSystemWindows="true"
            app:expandedTitleTextAppearance="@android:color/transparent">

            <ImageView
                android:id="@+id/coverPhoto"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="fitXY"
                android:fitsSystemWindows="true"
                android:src="@drawable/coverphoto"
                app:layout_collapseMode="parallax"
                android:clickable="true" />

            <ImageView
                android:id="@+id/profilePhoto"
                android:layout_width="150dp"
                android:layout_height="150dp"
                android:layout_gravity="center_horizontal|bottom"
                android:scaleType="fitXY"
                android:fitsSystemWindows="true"
                app:layout_collapseMode="parallax"
                android:clickable="true" />

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:popupTheme="@style/AppTheme.PopupOverlay"
                app:layout_collapseMode = "pin" />

        </android.support.design.widget.CollapsingToolbarLayout>

    </android.support.design.widget.AppBarLayout>

    <android.support.v4.widget.NestedScrollView
        android:id="@+id/main_nested_scroll_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity = "fill_vertical"
        android:layout_marginBottom="?attr/actionBarSize"
        app:layout_behavior = "@string/appbar_scrolling_view_behavior">

        <include layout="@layout/content_main" />

    </android.support.v4.widget.NestedScrollView>

    <include layout="@layout/floating_button_menu"/>

</android.support.design.widget.CoordinatorLayout>




android android-studio gradle