NoClassDefFoundError: Échec de la résolution de: Landroid/support/v7/appcompat/R$styleable

Débutant d'essayer de finir Mon premier App tutoriel fourni par Google. Sur le chemin de cette exception irrécupérable j'ai fait de l'importation d'un lot de paquets quelconques de se débarrasser de "ne peut pas être résolu" erreurs pour un certain nombre de choses, ActionBarActivity, EditText, Fragment, LayoutInflater, etc, mais vous ne savez pas ce qui importe. De toute façon, mon appli plante et génère une exception Fatale quand je clique sur le bouton "Envoyer" dans l'Activité Principale. Voici mon code et logcat fichier.

MyActivity.java (aka MainActivity.java du tutoriel)

package magiccoupons.tutapp;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;


public class MyActivity extends Activity {
public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";

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


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    //Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.my, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    //Handle action bar item clicks here. The action bar will
    //automatically handle clicks on the Home/Up button, so long
    //as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

/** Called when the user clicks the Send button */
public void sendMessage(View view) {
    //Do something in response to button
    Intent intent = new Intent(this, DisplayMessageActivity.class);
    EditText editText = (EditText) findViewById(R.id.edit_message);
    String message = editText.getText().toString();
    intent.putExtra(EXTRA_MESSAGE, message);
    startActivity(intent);
}
}

DisplayMessageActivity.java:

package magiccoupons.tutapp;

import android.widget.*;
import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.*;
import android.support.v7.app.ActionBarActivity;
import android.app.Fragment;

public class DisplayMessageActivity extends ActionBarActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //Get the message from the intent
    Intent intent = getIntent();
    String message = intent.getStringExtra(MyActivity.EXTRA_MESSAGE);

    //Create the text view
    TextView textView = new TextView(this);
    textView.setTextSize(40);
    textView.setText(message);

    //Set the text view as the activity layout
    setContentView(textView);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    //Handle action bar item clicks here. The action bar will
    //automatically handle clicks on the Home/Up button, so long
    //as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

/**
 * A placeholder fragment containing a simple view.
 *
public static class PlaceholderFragment extends Fragment {

    public PlaceholderFragment() { }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.activity_display_message,
                container, false);
        return rootView;
    }
}
*/
}

construire.gradle:

 apply plugin: 'com.android.application'

android {
    compileSdkVersion 'android-L'
    buildToolsVersion '20'

    defaultConfig {
        applicationId "magiccoupons.tutapp"
        minSdkVersion 20
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

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

activity_my.xml:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="magiccoupons.tutapp.MainActivity">

    <EditText android:id="@+id/edit_message"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:hint="@string/edit_message" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button_send"
        android:onClick="sendMessage" />

</LinearLayout>

activity_display_message.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="magiccoupons.tutapp.DisplayMessageActivity">

<TextView
    android:text="@string/hello_world"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

</RelativeLayout>

et logcat:

08-21 11:24:36.088    3645-3645/magiccoupons.tutapp I/Process Sending signal. PID: 3645 SIG: 9
08-21 11:37:33.584    4149-4149/magiccoupons.tutapp W/Resources Preloaded drawable resource #0x1080093 (android:drawable/sym_def_app_icon) that varies with configuration!!
08-21 11:37:33.676    4149-4149/magiccoupons.tutapp I/am_on_resume_called [0,magiccoupons.tutapp.MyActivity]
08-21 11:37:33.905    4149-4149/magiccoupons.tutapp D/gralloc_goldfish Emulator without GPU emulation detected.
08-21 11:37:38.139    4149-4149/magiccoupons.tutapp I/am_on_paused_called [0,magiccoupons.tutapp.MyActivity]
08-21 11:37:38.218    4149-4149/magiccoupons.tutapp I/Choreographer Skipped 75 frames!  The application may be doing too much work on its main thread.
08-21 11:37:38.356    4149-4149/magiccoupons.tutapp D/AndroidRuntime Shutting down VM
08-21 11:37:38.369    4149-4149/magiccoupons.tutapp E/AndroidRuntime FATAL EXCEPTION: main
Process: magiccoupons.tutapp, PID: 4149
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7/appcompat/R$styleable;
at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:106)
at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:57)
at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:99)
at magiccoupons.tutapp.DisplayMessageActivity.onCreate(DisplayMessageActivity.java:15)
at android.app.Activity.performCreate(Activity.java:5720)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1102)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2208)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2317)
at android.app.ActivityThread.access$800(ActivityThread.java:143)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5070)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:836)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:631)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.appcompat.R$styleable" on path: DexPathList[[zip file "/data/app/magiccoupons.tutapp-1.apk"],nativeLibraryDirectories=[/data/app-lib/magiccoupons.tutapp-1, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
            at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:106)
            at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:57)
            at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:99)
            at magiccoupons.tutapp.DisplayMessageActivity.onCreate(DisplayMessageActivity.java:15)
            at android.app.Activity.performCreate(Activity.java:5720)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1102)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2208)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2317)
            at android.app.ActivityThread.access$800(ActivityThread.java:143)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5070)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:836)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:631)
Suppressed: java.lang.ClassNotFoundException: android.support.v7.appcompat.R$styleable
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 18 more
Caused by: java.lang.NoClassDefFoundError: Class "Landroid/support/v7/appcompat/R$styleable;" not found
... 22 more

Désolé si j'ai raté quelque chose, et cette question est complètement inutile et/ou une dupe. Merci.

Pourquoi est-com.android.support:appcompat-v7 commenté dans la construction.gradle? Vous utilisez android.de soutien.v7.app.ActionBarActivity de sorte que vous devriez inclure le support v7 bibliothèque.
Il ne fait aucune différence apparemment, le message que je reçois quand je décommentez il est "à l'Aide de la appcompact bibliothèque lorsque minSdkVersion >= 14 n'est pas nécessaire". Aussi en la laissant dans-je obtenir un INATTENDU EXCEPTION de NIVEAU SUPÉRIEUR
Mais si votre minSdkVersion est >= 14 alors vous n'avez pas à utiliser la bibliothèque de prise en charge. Utilisez simplement l'Activité de la place.
Ouais, je suis retourné à cela et m'a juste complètement nouveau. À l'aide de l'Activité au lieu de ActionBarActivity comme décrit dans le tutoriel a travaillé la première fois. Merci.

OriginalL'auteur howdoyouturnthison | 2014-08-21