java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14

Внезапно, когда я пытаюсь скомпилировать свой проект и запустить свое приложение, я начинаю получать эту ошибку времени выполнения:

java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14
            at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:93)
            at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:77)
            at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:429)
            at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:57)
            at com.example.shubhamkanodia.bookmybook.MainActivity.onCreate(MainActivity.java:70)
            at android.app.Activity.performCreate(Activity.java:5990)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
            at android.app.ActivityThread.access$800(ActivityThread.java:151)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5254)
            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:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

Вот что я пытался сделать:

1) Исключив support-v4 из всех моих зависимостей и вручную указав более старую версию, support compile 'com.android.support:support-v4:21.+'.

Интересно отметить, что MainActivity не является моей активностью запуска. Таким образом, приложение отлично работает в активности запуска. Но как только открывается основная активность, оно терпит неудачу.

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

     compile('com.google.android.gms:play-services-identity:7.5.0') {
        exclude module: 'support-v4'
        exclude module: 'support-v7'

    }
    compile('com.android.support:palette-v7:22.2.0') {
        exclude module: 'support-v4'
        exclude module: 'support-v7'

    }
    compile('com.nhaarman.listviewanimations:lib-core:3.1.0@aar') {
        exclude module: 'support-v4'
        exclude module: 'support-v7'

    }
    apt "org.androidannotations:androidannotations:$AAVersion"
    compile ("org.androidannotations:androidannotations-api:$AAVersion")
            {
                exclude module: 'support-v4'
                exclude module: 'support-v7'

            }
    compile('com.android.support:appcompat-v7:22.2.0') {
        exclude module: 'support-v4'
        exclude module: 'support-v7'

    }
    compile('com.android.support:cardview-v7:22.2.0') {
        exclude module: 'support-v4'
        exclude module: 'support-v7'

    }
    compile('com.android.support:design:22.2.0') {
        exclude module: 'support-v4'
        exclude module: 'support-v7'

    }
    compile project(':cognalys')
    compile fileTree(dir: 'libs', include: 'Parse-*.jar')
    compile fileTree(dir: 'libs', include: 'ParseCrashReporting-*.jar')
    compile ('com.google.android.gms:play-services-plus:7.5.0'){
        exclude module: 'support-v4'
        exclude module: 'support-v7'

    }
    compile ('com.parse.bolts:bolts-android:1.+') {
        exclude module: 'support-v4'
        exclude module: 'support-v7'

    }
    compile('com.squareup.picasso:picasso:2.5.2') {
        exclude module: 'support-v4'
        exclude module: 'support-v7'

    }
    compile('com.github.ksoichiro:android-observablescrollview:1.5.1') {
        exclude module: 'support-v4'
        exclude module: 'support-v7'

    }
    compile ('me.dm7.barcodescanner:zbar:1.7.2') {
        exclude module: 'support-v4'
        exclude module: 'support-v7'

    }
    compile('com.sothree.slidinguppanel:library:3.0.0') {
        exclude module: 'support-v4'
        exclude module: 'support-v7'

    }
    compile ('com.mcxiaoke.volley:library:1.0.+'){
        exclude module: 'support-v4'
        exclude module: 'support-v7'

    }
    compile 'com.android.support:support-v4:21.+'
    compile ('jp.wasabeef:picasso-transformations:1.0.3@aar'){
        exclude module: 'support-v4'
        exclude module: 'support-v7'

    }
    compile ('jp.co.cyberagent.android.gpuimage:gpuimage-library:1.2.3@aar'){
        exclude module: 'support-v4'
        exclude module: 'support-v7'

    }
    compile ('com.daimajia.easing:library:1.0.1@aar') {
        exclude module: 'support-v4'
        exclude module: 'support-v7'

    }
    compile('com.daimajia.androidanimations:library:1.1.3@aar') {
        exclude module: 'support-v4'
        exclude module: 'support-v7'

    } 

person Shubham Kanodia    schedule 18.06.2015    source источник
comment
У вас должны быть дублированные и/или конфликтующие библиотеки поддержки (версии).   -  person shkschneider    schedule 18.06.2015
comment
@shkschneider Я уже пытался исключить v4 и v7 из всех моих зависимостей (см. выше)   -  person Shubham Kanodia    schedule 18.06.2015
comment
Получение этой ошибки после того, как я обновил Android Studio... до сих пор не могу ее решить   -  person Psypher    schedule 12.07.2015


Ответы (3)


Из всех исключений, которые вы указали, я должен сказать, что я прочитал, что вы только что запретили support-v4 и support-v7 из своего приложения (даже из design и appcompat).

Так что постарайтесь оставить их в конце ^^

compile 'com.android.support:appcompat-v7:22.2.0' // no exclusion
person shkschneider    schedule 18.06.2015
comment
компиляция 'com.android.support:support-v7:22.2.0' не является действительной зависимостью (или v7-21.+) в этом отношении... Он продолжает говорить, что библиотека поддержки не найдена - проверьте SDK Manager, даже если я установлены последние версии - person Shubham Kanodia; 18.06.2015
comment
Извините, отредактировал. Включить AppCompat без исключения. Таким образом, вы получите support-v4 только из AppCompat и только один раз, потому что вы исключили его везде ^^ - person shkschneider; 18.06.2015
comment
Я не могу использовать поддержку v4, поставляемую вместе с appcomvat-7:22.2, потому что это обеспечит мне поддержку v4:22.2. Я могу использовать только поддержку v4:21.1.1, следовательно, исключаю. ( code.google.com/p/android/issues/) - person Shubham Kanodia; 18.06.2015
comment
Если вам нужно использовать support-v4:21.1.1, почему вы включаете другие библиотеки в версию 22.2.0? Это вызовет конфликты. Вы пробовали изменить appcompat-v7 и другие на 21.1.1? - person shkschneider; 19.06.2015
comment
это помогло мне: stackoverflow.com /вопросы/27698287/ - person gleroyDroid; 14.07.2015
comment
@user1570693 user1570693 кажется не связанным, вы имеете в виду MultiDex, который решает указанное выше ограничение в 65 000 методов. - person shkschneider; 15.07.2015
comment
Как я сказал. У меня была точно такая же ошибка и поиск дней, пока я не внес это изменение. Я использовал multidex, чтобы избежать ограничения в 65 КБ, но забыл включить компиляцию 'com.android.support:multidex:1.0.0 и вызвать MultiDex.install() в своем приложении. Так что это работало нормально только с последними телефонами. - person gleroyDroid; 15.07.2015

для меня решение добавляло

android:name="android.support.multidex.MultiDexApplication"

к манифесту

person Emanuele Tonello    schedule 18.08.2015

просто включите мультидекс. Это сработало для меня. перейдите по ссылке https://stackoverflow.com/a/31724383/3040893

person smoothumut    schedule 30.07.2015