NoClassDefFoundError: com.squareup.picasso.Picasso с телефоном

Я получаю noClassDefFoundError на телефонах, работающих под управлением API версии 21. Сначала он шел с другими классами, после удаления всех возможных кодов он начал поступать с библиотекой Picasso. Я приложил свой logcat и build.gradle.

Пожалуйста, помогите мне, я застрял, я пробовал много решений, но никто не работает.

Simmilar вопросы, которые я нашел, - https://github.com/square/picasso/issues/1264

build.gradle -

compileSdkVersion 23
buildToolsVersion "23.0.3"
useLibrary 'org.apache.http.legacy'

dexOptions {
    incremental false
    javaMaxHeapSize "2048M"
    preDexLibraries = false
}

defaultConfig {
    applicationId "com.kaaryanext.raghukaka"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 25
    versionName "1.2.14"
    multiDexEnabled true
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-android.txt'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:multidex:1.0.0'
compile 'com.google.code.gson:gson:2.2.4'
compile('com.android.support:appcompat-v7:23.1.1') {
exclude module: 'support-v4'
}
compile 'com.crittercism:crittercism-android-agent:5.0.6'
compile 'com.android.support:support-v4:23.1.1'
compile "com.android.support:recyclerview-v7:23.1.0"
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
compile "com.google.android.gms:play-services:8.1.0"
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.android.support:design:23.1.1'
compile 'com.getbase:floatingactionbutton:1.10.0'
compile 'com.loopj.android:android-async-http:1.4.9'
}

04-18 09: 53: 10.990 16825-16825 / com.kaaryanext.raghukaka E / dalvikvm: Не удалось найти класс 'com.squareup.picasso.Picasso$1', на который ссылается метод com.squareup.picasso.Picasso. 04-18 09:53:10.990 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно разрешить новый экземпляр 9172 (Lcom/squareup/picasso/Picasso$1;) в Lcom/squareup/picasso/Picasso; 04-18 09:53:10.990 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: VFY: замена кода операции 0x22 в 0x0000 04-18 09:53:11.000 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно найти класс, на который есть ссылка в подписи (Lcom/squareup/picasso/Dispatcher;) 04-18 09:53:11.000 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно найти класс, на который есть ссылка в подписи (Lcom/squareup/picasso/Cache;) 04-18 09:53:11.000 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно найти класс, на который есть ссылка в подписи (Lcom/squareup/picasso/Stats;) 04-18 09:53:11.000 16825-16825/com.kaaryanext.raghukaka E/dalvikvm: Не удалось найти класс 'com.squareup.picasso.ResourceRequestHandler', на который ссылается метод com.squareup.picasso.Picasso. 04-18 09:53:11.000 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно разрешить новый экземпляр 9190 (Lcom/squareup/picasso/ResourceRequestHandler;) в Lcom/squareup/picasso/Picasso; 04-18 09:53:11.000 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: VFY: замена кода операции 0x22 в 0x001d 04-18 09:53:11.000 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: Could не найден метод com.squareup.picasso.Utils.checkMain, на который ссылается метод com.squareup.picasso.Picasso.cancelExistingRequest 04-18 09:53:11.000 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно разрешить статический метод 61383: Lcom/squareup/picasso/Utils;.checkMain ()V 04-18 09:53:11.000 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: VFY: замена кода операции 0x71 в 0x0000 04-18 09:53:11.000 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно найти класс, указанный в подписи (Lcom/squareup/picasso/Action;) 04-18 09:53:11.000 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: Не удалось найти метод com.squareup.picasso.Action.isCancelled, на который ссылается метод com.squareup.picasso.Picasso.deliverAction 04-18 09:53:11.000 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно восстановить старый виртуальный метод 61214: Lcom/squareup/picasso/Action;.isCancelled ()Z 04-18 09:53:11.000 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: VFY: замена кода операции 0x6e в 0x0000 04-18 09:53:11.000 16825-16825/com.kaaryanext.raghukaka E/dalvikvm: Не удалось найти класс 'com.squareup.picasso.RemoteViewsAction$RemoteViewsTarget', на который ссылается метод com.squareup.picasso.Picasso.cancelRequest 04-18 09:53:11.010 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно разрешить новый экземпляр 9184 (Lcom/squareup/picasso/RemoteViewsAction$RemoteViewsTarget;) в Lcom/squareup/picasso/Picasso; 04-18 09:53:11.010 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: VFY: замена кода операции 0x22 в 0x0000 04-18 09:53:11.010 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно найти класс, на который есть ссылка в подписи (Lcom/squareup/picasso/Target;) 04-18 09:53:11.010 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: Не удалось найти метод com.squareup.picasso.Utils.checkMain, ссылка на метод com.squareup.picasso.Picasso.cancelTag 04-18 09:53:11.010 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно разрешить статический метод 61383: Lcom/squareup/picasso/Utils;.checkMain ()V 04-18 09:53:11.010 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: VFY: замена кода операции 0x71 в 0x0000 04-18 09: 53: 11.010 16825-16825 / com. kaaryanext.raghukaka W / dalvikvm: VFY: невозможно найти класс, на который есть ссылка в подписи (Lcom/squareup/picasso/BitmapHunter;) 04-18 09:53:11.010 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: Не удалось найти метод com.squareup.picasso.BitmapHunter.getAction, refe исключено из метода com.squareup.picasso.Picasso.complete 04-18 09:53:11.010 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно разрешить виртуальный метод 61218: Lcom/squareup/picasso/BitmapHunter;.getAction ()Lcom/squareup/picasso/Action; 04-18 09:53:11.010 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: VFY: замена кода операции 0x6e в 0x0002 04-18 09:53:11.010 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно найти класс, на который есть ссылка в подписи (Lcom/squareup/picasso/DeferredRequestCreator;) 04-18 09:53:11.010 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно найти класс, на который есть ссылка в подписи (Lcom/squareup/picasso/Action;) 04-18 09:53:11.010 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: Не удалось найти метод com.squareup.picasso.Action.getTarget, на который ссылается метод com.squareup.picasso.Picasso.enqueueAndSubmit 04-18 09:53:11.010 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно разрешить виртуальный метод 61213: Lcom/squareup/picasso/Action;.getTarget ()Ljava/lang/ объект; 04-18 09: 53: 11.010 16825-16825 / com.kaaryanext.raghukaka D / dalvikvm: VFY: замена кода операции 0x6e на 0x0000 04-18 09:53:11.020 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: Could не найден метод com.squareup.picasso.Stats.createSnapshot, на который ссылается метод com.squareup.picasso.Picasso.getSnapshot 04-18 09:53:11.020 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно разрешить виртуальный метод 61376: Lcom/squareup/picasso/Stats;.createSnapshot ()Lcom/squareup/picasso/StatsSnapshot; 04-18 09:53:11.020 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: VFY: замена кода операции 0x6e на 0x0002 04-18 09:53:11.020 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: может не найден метод com.squareup.picasso.Cache.clearKeyUri, на который ссылается метод com.squareup.picasso.Picasso.invalidate 04-18 09:53:11.020 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно разрешить метод интерфейса 61226: Lcom/squareup/picasso/Cache;.clearKeyUri (Ljava/lang/String;)V 04-18 09:53:11.020 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: VFY: замена кода операции 0x72 в 0x0010 04-18 09:53:11.020 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: Не удалось найти метод com.squareup.picasso.Dispatcher.dispatchPauseTag, на который ссылается метод com.squareup.picasso.Picasso.pauseTag 04-18 09:53:11.020 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно разрешить виртуальный метод 61235: Lcom/squareup/picasso/Dispatcher;.dispatchPauseTag (Ljava/lang/Object;)V 04-18 09:53:11.020 16825-16825/ с om.kaaryanext.raghukaka D / dalvikvm: VFY: замена кода операции 0x6e на 0x0002 04-18 09:53:11.030 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: Не удалось найти метод com.squareup.picasso.Cache.get, на который ссылается метод com.squareup.picasso.Picasso.quickMemoryCacheCheck 04-18 09:53:11.030 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно разрешить метод интерфейса 61227: Lcom/squareup/picasso/Cache;.get (Ljava/lang/String;)Landroid/graphics/Bitmap; 04-18 09:53:11.030 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: VFY: замена кода операции 0x72 в 0x0002 04-18 09:53:11.030 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно найти класс, на который есть ссылка в подписи (Lcom/squareup/picasso/Action;) 04-18 09:53:11.030 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно разрешить поле экземпляра 34051 04-18 09:53:11.030 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: VFY: замена кода операции 0x52 в 0x0001 04-18 09:53:11.030 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: не удалось найти метод com.squareup.picasso.Dispatcher.dispatchResumeTag, на который ссылается метод com.squareup.picasso.Picasso.resumeTag 04-18 09:53:11.030 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно разрешить виртуальный метод 61236: Lcom/squareup/picasso/Dispatcher;.dispatchResumeTag (Ljava/lang/Object;)V 04-18 09:53:11.030 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: VFY: замена кода операции 0x6e в 0x0002 04 -18 09: 53: 11.030 16825-16825 / co m.kaaryanext.raghukaka I / dalvikvm: Не удалось найти метод com.squareup.picasso.Cache.clear, на который ссылается метод com.squareup.picasso.Picasso.shutdown 04-18 09:53:11.030 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно разрешить метод интерфейса 61225: Lcom/squareup/picasso/Cache;.clear ()V 04-18 09:53:11.030 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: VFY: замена кода операции 0x72 в 0x0013 04-18 09:53:11.030 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно найти класс, на который есть ссылка в подписи (Lcom/squareup/picasso/Action;) 04-18 09:53:11.030 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: Не удалось найти метод com.squareup.picasso.Dispatcher.dispatchSubmit, на который ссылается метод com.squareup.picasso.Picasso.submit 04-18 09:53:11.040 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно разрешить виртуальный метод 61237: Lcom/squareup/picasso/Dispatcher;.dispatchSubmit (Lcom/squareup/picasso/Action;)V 04-18 09:53:11.040 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: VFY: замена кода операции 0x6e в 0x0002 04-18 09:53:11.040 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно найти класс, на который есть ссылка в подписи (Lcom/squareup/picasso/Request;) 04-18 09:53:11.040 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: Не удалось найти метод com.squareup.picasso.Picasso$RequestTransformer.transformRequest, на который ссылается метод com.squareup.picasso.Picasso.transformRequest 04-18 09:53:11.040 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: VFY: невозможно разрешить метод интерфейса 61271: Lcom/squareup/picasso/Picasso$RequestTransformer;.transformRequest (Lcom/squareup/picasso/ Запрос;)Lcom/squareup/ Picasso / Запрос; 04-18 09:53:11.040 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: VFY: замена кода операции 0x72 в 0x0002 04-18 09:53:11.040 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: DexOpt: невозможно выбрать прямой вызов 0xef46 в 0x06 в Lcom/squareup/picasso/Picasso;. 04-18 09:53:11.040 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: DexOpt: невозможно выбрать прямой вызов 0xefbe в 0x1f в Lcom/squareup/picasso/Picasso;. 04-18 09:53:11.040 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: DexOpt: невозможно выбрать прямой вызов 0xef2d в 0x2c в Lcom/squareup/picasso/Picasso;. 04-18 09:53:11.040 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: DexOpt: невозможно выбрать прямой вызов 0xef43 в 0x34 в Lcom/squareup/picasso/Picasso;. 04-18 09:53:11.050 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: DexOpt: невозможно выбрать прямой вызов 0xef2e в 0x3c в Lcom/squareup/picasso/Picasso;. 04-18 09:53:11.050 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: DexOpt: невозможно выбрать прямой вызов 0xef20 в 0x44 в Lcom/squareup/picasso/Picasso;. 04-18 09:53:11.050 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: DexOpt: невозможно выбрать прямой вызов 0xef3f в 0x4c в Lcom/squareup/picasso/Picasso;. 04-18 09:53:11.050 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: DexOpt: невозможно оптимизировать поле экземпляра ref 0x8505 при 0x54 в Lcom/squareup/picasso/Picasso;. 04-18 09:53:11.050 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: DexOpt: невозможно выбрать прямой вызов 0xef45 в 0x56 в Lcom/squareup/picasso/Picasso;. 04-18 09:53:11.050 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: DexOpt: невозможно выбрать прямой вызов 0xef53 в 0x87 в Lcom/squareup/picasso/Picasso;. 04-18 09:53:11.050 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: DexOpt: невозможно оптимизировать поле экземпляра ref 0x8504 в 0x2d в Lcom/squareup/picasso/Picasso;.deliverAction 04-18 09:53:11.050 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: DexOpt: невозможно оптимизировать поле экземпляра ref 0x8504 при 0x55 в Lcom/squareup/picasso/Picasso;.deliverAction 04-18 09:53:11.050 16825-16825/com.kaaryanext.raghukaka D/dalvikvm: DexOpt: невозможно выбрать прямой вызов 0xef81 в 0x02 в Lcom/squareup/picasso/Picasso;.cancelRequest 04-18 09:53:11.060 16825-16825/com.kaaryanext.raghukaka I/dalvikptm:: невозможно оптимизировать экземпляр поля ref 0x852f при 0x21 в Lcom/squareup/picasso/Picasso;.complete 04-18 09:53:11.060 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: DexOpt: невозможно оптимизировать статическое поле ref 0x8518 в 0x13 в Lcom/squareup/picasso/Picasso;.resumeAction 04-18 09:53:11.060 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: DexOpt: невозможно оптимизировать экземпляр поля ref 0x8504 при 0x20 в Lco m / squareup / picasso / Picasso;.resumeAction 04-18 09: 53: 11.060 16825-16825 / com.kaaryanext.raghukaka I / dalvikvm: DexOpt: невозможно оптимизировать статическое поле ref 0x8518 при 0x31 в Lcom/squareup/picasso/Picasso;.resumeAction 04-18 09:53:11.060 16825-16825/com.kaaryanext.raghukaka I/dalvikvm: DexOpt: невозможно оптимизировать поле экземпляра ref 0x8504 при 0x4a в Lcom/squareup/picasso/Picasso;.resumeAction 04-18 09:53:11.060 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: Исключение Ljava/lang/NoClassDefFoundError; выбрасывается при инициализации Lcom/squareup/picasso/Picasso; 04-18 09:53:11.060 16825-16825/com.kaaryanext.raghukaka D/AndroidRuntime: завершение работы VM 04-18 09:53:11.060 16825-16825/com.kaaryanext.raghukaka W/dalvikvm: threadid=1: поток выход с неперехваченным исключением (group=0x418b1c80) 04-18 09:53:11.080 16825-16825/com.kaaryanext.raghukaka E/AndroidRuntime: FATAL EXCEPTION: main Процесс: com.kaaryanext.raghukaka, PID: 16825 java.lang.NoClassrorF: com.squareup.picasso.Picasso$1 на com.squareup.picasso.Picasso.(Picasso.java:109) на com.kaaryanext.raghukaka.listadapters.HomePageListAdapter$RecyclerAdapter.onBindViewHolder(HomePageListAdapter.jas)

3 ответа

Решение

Попробуйте следующий код

public class MyApplication extends Application {

 @Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(base);
   }
}

и добавьте следующую строку в свой файл Android andif в тег приложения

android:name="your package name.MyApplication"

Пожалуйста, попробуйте следующие изменения

1 В вашем Gradle вам нужно указать multi dex и добавить библиотеку поддержки:

android {
    defaultConfig {
        ...
        multiDexEnabled true
        ...
    }
}

dependencies {
  ...
  compile 'com.android.support:multidex:1.0.0'
  ...
}

2- В вашем манифесте вы должны настроить приложение на мультидексное приложение:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.package.name">
    <application
        ...
        android:name="com.package.name.my_application">
        ...
    </application>
</manifest>

3.В своем классе приложения вы должны либо расширить MultiDexApplication:

 public class my_application extends MultiDexApplication
{
  ...
 }

4. Или переопределите метод attachBaseContext():

public class my_application extends Application
{
    protected void attachBaseContext(Context base)
    {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
}

Вам нужно обработать файл Multiple dex после включения этой опции из build.gradle

& если в вашем проекте вы используете класс Application, то расширьте его с помощью MultiDexApplication & обрабатывать несколько файлов dex в attachBaseContext

добавить эту библиотеку в ваши зависимости

dependencies {
     compile 'com.android.support:multidex:1.0.1'
    //    your dependencies which you are using.

}

Ваш класс приложения

public class MyAppClass extends MultiDexApplication{
@Override
    protected void attachBaseContext(Context newBase) {
        MultiDex.install(newBase);
        super.attachBaseContext(newBase);
    }
}

декларировать MyAppClass в вашем AndroidManfiest имя файла приложения.

<application
        android:name="MyAppClass"
android:icon="@drawable/ic_launcher"
        android:label="@string/app_name">
//... your other manifest declaration
</application>

Обновленный Gradle

добавить эту строку в Android DefaultConfig

 multiDexEnabled true

Предложение

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

Другие вопросы по тегам