Подтвердить что ты не робот

Java.lang.NoSuchFieldError android/support/v7/AppCompat/

После запуска моего eclipse сегодня любой проект, который я запускаю, возвращает следующую ошибку:

08-06 08:01:23.770: E/AndroidRuntime(5406): FATAL EXCEPTION: main
08-06 08:01:23.770: E/AndroidRuntime(5406): Process: be.thomasmore.powerfactory, PID: 5406
08-06 08:01:23.770: E/AndroidRuntime(5406): java.lang.NoSuchFieldError: No static field abc_screen_toolbar of type I in class Landroid/support/v7/appcompat/R$layout; or its superclasses (declaration of 'android.support.v7.appcompat.R$layout' appears in /data/app/be.thomasmore.powerfactory-2/base.apk)
08-06 08:01:23.770: E/AndroidRuntime(5406):     at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:299)
08-06 08:01:23.770: E/AndroidRuntime(5406):     at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:246)
08-06 08:01:23.770: E/AndroidRuntime(5406):     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)
08-06 08:01:23.770: E/AndroidRuntime(5406):     at be.thomasmore.powerfactory.MainActivity.onCreate(MainActivity.java:44)
08-06 08:01:23.770: E/AndroidRuntime(5406):     at android.app.Activity.performCreate(Activity.java:5990)
08-06 08:01:23.770: E/AndroidRuntime(5406):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
08-06 08:01:23.770: E/AndroidRuntime(5406):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
08-06 08:01:23.770: E/AndroidRuntime(5406):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
08-06 08:01:23.770: E/AndroidRuntime(5406):     at android.app.ActivityThread.access$800(ActivityThread.java:151)
08-06 08:01:23.770: E/AndroidRuntime(5406):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
08-06 08:01:23.770: E/AndroidRuntime(5406):     at android.os.Handler.dispatchMessage(Handler.java:102)
08-06 08:01:23.770: E/AndroidRuntime(5406):     at android.os.Looper.loop(Looper.java:135)
08-06 08:01:23.770: E/AndroidRuntime(5406):     at android.app.ActivityThread.main(ActivityThread.java:5254)
08-06 08:01:23.770: E/AndroidRuntime(5406):     at java.lang.reflect.Method.invoke(Native Method)
08-06 08:01:23.770: E/AndroidRuntime(5406):     at java.lang.reflect.Method.invoke(Method.java:372)
08-06 08:01:23.770: E/AndroidRuntime(5406):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
08-06 08:01:23.770: E/AndroidRuntime(5406):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

Вчера вечером все работало нормально.

Любые идеи?

4b9b3361

Ответ 1

По-видимому мне нужно было обновить инструменты SDK и инструменты платформы SDK, после чего я смог выбрать 5.1.1 в качестве цели сборки для моего проекта библиотеки appcompat v7.

Ответ 2

У меня была аналогичная проблема после обновления до Android Studio 2.0 и Android Support Library 23.3.0. Ошибка была

java.lang.NoSuchFieldError: No static field AppCompatTheme of type

Я решил это, перейдя в Android SDK Manager. Обновления были доступны для следующих целей:

  • Инструменты для создания Android SDK
  • Android SDK Tools
  • Библиотека поддержки Android
  • Хранилище Google

Обновлено и снова запущено приложение, которое решило проблему.

Edit:

Если вы уже обновили вышеупомянутые вещи и все еще имеете проблемы, как отметил @mparkes в комментарии, проверьте, обновили ли вы файл build.gradle(app), чтобы использовать последнюю библиотеку следующим образом:

dependencies {
    compile 'com.android.support:appcompat-v7:23.3.0'
}

Затем перестройте проект: Build Menu > Rebuild Project

Ответ 3

У меня также была эта проблема после обновления до Android Studio 2.0. В моем случае это была проблема мгновенного запуска. В AOSP Issue Tracker есть ошибка .

Так что отключение Instant Run помогло мне.

  • Откройте диалоговое окно "Настройки" или "Настройки".
  • Перейдите к сборке, выполнению, развертыванию > Instant Run.

Ответ 4

В моем случае я использовал v7: 23.3.0 в своем проекте библиотеки, но v7: 23.0.0 в самом приложении. Это означает, что библиотека была скомпилирована против более высокой версии, чем в приложении.