web-dev-qa-db-fra.com

échec de la liaison de la ressource de fichier. - Je reçois cette erreur même après avoir essayé toutes les solutions possibles fournies par d'autres

Ceci est le fichier Java qui donne l'erreur

package com.example.daksh.timetable;

import Android.support.v7.app.AppCompatActivity;
import Android.os.Bundle;
import Android.view.View;
import Android.widget.Button;
import Android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

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

        final Button mon_but,tue_but,wed_but,thur_but,fri_but;
        mon_but = (Button)findViewById(R.id.mon);
        tue_but = (Button)findViewById(R.id.tue);
        wed_but = (Button)findViewById(R.id.wed);
        thur_but = (Button)findViewById(R.id.thur);
        fri_but = (Button)findViewById(R.id.fri);
        final ImageView main_Image = (ImageView) findViewById(R.id.day);
        final int[] dayarray = {R.drawable.monday,R.drawable.tuesday,R.drawable.wednesday,R.drawable.thursday, R.drawable.friday};

        mon_but.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                main_Image.setImageResource(dayarray[0]);
            }

        });
        tue_but.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                main_Image.setImageResource(dayarray[1]);
            }
        });
        wed_but.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                main_Image.setImageResource(dayarray[2]);
            }
        });
        thur_but.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                main_Image.setImageResource(dayarray[3]);
            }
        });
        fri_but.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                main_Image.setImageResource(dayarray[4]);
            }
       });
   }
}

Les erreurs que je reçois sont les suivantes

Information: Gradle tâches [nettoyer,: app: assembleDebug] C:\Projects\TimeTable\app\src\main\res\layout\activity_main.xml Erreur: erreur: ressource Android: attr/colorSwitchThumbNormal est privé . Erreur: ressource Android: attr/colorSwitchThumbNormal est privé . C:\Projects\TimeTable\app\src\main\res\layout-land\activity_main.xml Erreur: erreur: ressource Android: attr/colorSwitchThumbNormal est privé . Erreur: ressource Android: attr/colorSwitchThumbNormal est privé . Erreur: échec de la liaison des ressources de fichier . Erreur: Java.util.concurrent.ExecutionException: Java.util.concurrent.ExecutionException: com.Android.tools.aapt2.Aapt2Exception: erreur AAPT2: consultez les journaux pour plus d'informations Erreur: Java.util.concurrent.ExecutionException: com.Android.tools.aapt2.Aapt2Exception: erreur AAPT2: consultez les journaux pour plus de détails Erreur: com.Android.tools.aapt2.Aapt2Exception: erreur AAPT2: consultez les journaux pour plus de détails Erreur: L'exécution a échoué pour la tâche ': app: processDebugResources' . Impossible d'exécuter aapt Information: ÉCHEC DE LA CONSTRUCTION dans 9s Information: 9 erreurs Information: 0 avertissements Information: Voir la sortie complète dans la console

Ceci est le fichier Activity_main.xml

    <?xml version="1.0" encoding="utf-8"?>
<Android.support.constraint.ConstraintLayout 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/activity_main"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:background="@drawable/background"
    Android:paddingBottom="16dp"
    Android:paddingLeft="16dp"
    Android:paddingRight="16dp"
    Android:paddingTop="16dp"
    tools:context=".MainActivity">

    <ImageView
        Android:id="@+id/day"
        Android:layout_width="0dp"
        Android:layout_height="0dp"

        Android:layout_marginBottom="8dp"
        Android:layout_marginEnd="8dp"
        Android:layout_marginStart="8dp"
        Android:layout_marginTop="16dp"
        Android:contentDescription="TODO"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/guideline_dayselection"
        app:layout_constraintHorizontal_bias="0.519"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@+id/guideline2"
        app:layout_constraintVertical_bias="0.472"
        app:srcCompat="@drawable/monday" />

    <TextView
        Android:id="@+id/textView"
        style="@style/Widget.AppCompat.TextView.SpinnerItem"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:layout_marginTop="4dp"
        Android:fontFamily="serif"
        Android:text="@string/message"
        Android:textColor="?android:attr/colorSwitchThumbNormal"
        Android:textSize="18sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        Android:id="@+id/mon"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_marginBottom="16dp"
        Android:layout_marginStart="16dp"
        Android:layout_marginTop="50dp"
        Android:text="@string/monday"
        app:layout_constraintBottom_toTopOf="@+id/tue"
        app:layout_constraintStart_toStartOf="@+id/guideline_dayselection"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        Android:id="@+id/tue"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_marginBottom="16dp"
        Android:layout_marginStart="16dp"
        Android:text="@string/tuesday"
        app:layout_constraintBottom_toTopOf="@+id/wed"
        app:layout_constraintStart_toStartOf="@+id/guideline_dayselection"
        app:layout_constraintTop_toBottomOf="@id/mon" />

    <Button
        Android:id="@+id/wed"
        Android:layout_width="88dp"
        Android:layout_height="48dp"
        Android:layout_marginBottom="16dp"
        Android:layout_marginStart="16dp"
        Android:text="@string/wednesday"
        app:layout_constraintBottom_toTopOf="@+id/thur"
        app:layout_constraintStart_toStartOf="@+id/guideline_dayselection"
        app:layout_constraintTop_toBottomOf="@id/tue" />

    <Button
        Android:id="@+id/thur"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_marginBottom="16dp"
        Android:layout_marginStart="16dp"
        Android:text="@string/thursday"
        app:layout_constraintBottom_toTopOf="@+id/fri"
        app:layout_constraintStart_toStartOf="@+id/guideline_dayselection"
        app:layout_constraintTop_toBottomOf="@id/wed" />

    <Button
        Android:id="@+id/fri"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_marginBottom="8dp"
        Android:layout_marginStart="16dp"
        Android:text="@string/friday"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="@+id/guideline_dayselection"
        app:layout_constraintTop_toBottomOf="@id/thur" />

    <Android.support.constraint.Guideline
        Android:id="@+id/guideline_dayselection"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:orientation="vertical"
        app:layout_constraintGuide_end="196dp" />

    <Android.support.constraint.Guideline
        Android:id="@+id/guideline2"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.15339233" />


</Android.support.constraint.ConstraintLayout>
15
The Bastard

Vous avez peut-être cette erreur sur vos fichiers Java car il existe un ou plusieurs fichiers XML avec une erreur.

Parcourez tous vos fichiers XML et résolvez les erreurs, puis le projet clean ou rebuild à partir du menu de construction

Commencez avec votre fichier XML édité le plus récent

21
Anga Koko

Si quelqu'un qui lit ceci a le même problème, c'est ce qui m'est arrivé récemment et c'est dû à l'écriture de l'en-tête xml deux fois par erreur:

<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?> <!-- Remove this one -->
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android">
     <solid Android:color="@color/mug_blue"/>
     <corners Android:radius="@dimen/featured_radius" />
</shape>

L’erreur que j’entendais n’était absolument pas liée à ce fichier, donc c’était difficile à trouver. Assurez-vous simplement que tous vos nouveaux fichiers xml ne comportent pas d'erreur de ce type (car cela ne s'affiche pas comme une erreur).EDITIl semble que cela apparaisse comme une erreur maintenant, assurez-vous de vérifier vos journaux d'erreurs.

15
P Fuster

Regardez l'erreur que vous obtenez: 

C:\Projects\TimeTable\app\src\main\res\layout-land\activity_main.xml Erreur: erreur: ressource Android: attr/colorSwitchThumbNormal est privé.

Cela signifie que vous faites référence à la couleur "Android: colorSwitchThumbNormal" dans le fichier activity_main.xml, mais qu'à l'intérieur de l'espace de noms 'Android', cette ressource est privée. Ce que vous vouliez probablement faire, c’est essayer de référencer cette couleur à partir de la version prise en charge de cet attribut, donc sans le préfixe "Android:".

<item name="Android:colorSwitchThumbNormal">@color/myColor</item>

Remplacer par:

<item name="colorSwitchThumbNormal">@color/second</item>
10
Izabela Orlowska

Il s’agit d’un erreur xml pour une raison quelconque peut être dû à la suppression d’une vue ou d’une chaîne dans une autre vue ou peut-être pour manquant "ou /> ..... etc

Mais ici, je me sers d’un bonne technique pour comprendre où se trouve exactement le problème: -

  • Allez dans chaque fichier xml et minimisez l'élément racine si vous trouvez quelque chose comme ceci Vous avez donc où est l'erreur, corrigez-la puis répétez le processus pour tous les fichiers. 

  • Si le fichier contient une erreur, vous verrez trois points de couleur rouge enter image description here
  • Corrige l'erreur ici j'ai enlevé cette ligne parce que ce tableau n'est plus dans le fichier chaîne .  enter image description here
  • Vous voyez maintenant qu'il n'y a plus d'erreur dans ce fichier si vous avez toujours l'erreur principale. Vous devez donc répéter ce processus pour tous les fichiers xml jusqu'à ce que vous résolviez l'erreurenter image description here

Je sais que ce n'est pas la solution du problème principal, mais cela vous permettra de trouver rapidement où est l'erreur et de gagner du temps.

2
Khalid Ali

Pour être plus générique sur la réponse fournie par @P Fuster . Il peut y avoir une erreur dans vos fichiers xml.

J'ai rencontré la même erreur et il y avait une erreur dans le dessin où la balise de fin était manquante.

2

Ceci est une erreur avec votre fichier XML. Si logcat ne peut pas localiser l'erreur avec un message de journal convivial portant le nom du fichier xml, essayez de nettoyer le projet et de le reconstruire. Cela a fonctionné pour moi.

Dans l'onglet Construction, vous obtiendrez un nœud nommé Problèmes Android. Le message d'erreur est en dessous.

2
live-love

J'ai ce problème.Le problème principal est que j'ai ajouté un attribut à un BottomAppBar dans le fichier xml.J'ai trouvé un message d'erreur dans la section de construction inférieure d'Android, qui explique que l'erreur a remplacé l'attribut et que tout était ok. Pour les autres qui ont la même erreur mais ma solution ne va pas avec eux, vous devez lire le message d'erreur qui vous guidera vers le point douloureux.

1
AL Tegani

Parfois, il arrive ce que vous copiez le code coller d'un autre projet, par exemple, vous copiez

<Android.support.design.widget.NavigationView
        Android:id="@+id/nav_view"
        Android:layout_width="256dp"
        Android:layout_height="match_parent"
        Android:layout_gravity="start"
        Android:background="@Android:color/white"
        Android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header_main"
        app:itemTextColor="@color/colorDrawerItems"
        app:menu="@menu/activity_main_drawer" />

Malheureusement, Android studio ne montre pas toujours d'erreur de dépendance, mais il se trouve que la classe NavigationView est manquante car implementation 'com.Android.support:design n'est pas ajouté au projet

0
Pavel Poley

Cette erreur similaire peut également indiquer si vous avez précédemment supprimé un fichier Java d'activité et que vous n'avez pas supprimé le fichier de présentation XML correspondant.

Supprimez le fichier XML du fichier Java d'activité supprimé et nettoyez ou reconstruisez le projet.

La raison derrière cela peut être à cause de l'inadéquation du contexte dans le fichier XML. (Cela peut se produire si vous copiez-collez un code de présentation XML.) Faites correspondre les outils: context au fichier Java de l'activité.

image

0
Shitab

Cela peut également se produire si vous laissez un élément avec un attribut null ou vide dans votre fichier de présentation XML, sinon si le chemin de création de votre fichier Java, tel que la spécification d'un ID incorrect pour l'objet

 enter image description here

ici frombottom= AnimationUtils.loadAnimation(this,R.anim); dans lequel anim. l'identifiant ou le nom du fichier laissé vide peut conduire à un tel problème.

0
revanth srinivasan

Une erreur est associée à un problème avec le fichier .xml. Ouvrez manuellement chaque fichier au format XML pour vérifier l’erreur. J'ai eu le même problème. A dû ouvrir manuellement chaque fichier. Une erreur s'est produite lors de l'appel @string. 

0
aditya

Je faisais Temperatur Converter App.Je faisais face à la même erreur lors de l'exécution de l'application en tant que: La liaison entre Android Studio a échoué . Cela s'est bien passé sans aucune erreur. 

Avant correction 

<resources>
<color name="myColor">#FFE4E1</color>
<string name="Celsius">To Celsius</string>
<string name="Fahrenheit">To Fahrenheit</string>
<string name="calc">Calculate</string>
</resources>

Après édition:

<resources>
<string name="app_name">Temp Converter</string>
<color name="myColor">#FFE4E1</color>
<string name="Celsius">To Celsius</string>
<string name="Fahrenheit">To Fahrenheit</string>
<string name="calc">Calculate</string>
</resources>
0
Sreenidhi D R

Cela se produit parfois lorsque vous avez un fichier XML aléatoire qui ne fait rien. Supprimer le fichier résout le problème. 

0
Mohamed Ali

Vérifiez dans vos fichiers XML la résolution des erreurs. La plupart du temps, les modifications apportées à vos fichiers XML sont affectées. Essayez de vérifier les dernières modifications apportées.

Essayez de nettoyer votre projet .... ça marche

Bonne codage :)

0
Gaurav Lambole