Переключение с «компиляции» на «реализацию» приводит к ошибке DexPathList - PullRequest
1 голос
/ 04 мая 2019

Я пытаюсь обновить свои зависимости, чтобы использовать новую спецификацию реализации / API вместо компиляции.Это для общей библиотеки, которую я пишу, которую я затем использую в своем приложении через jitpack.

Когда я делаю простой переход от компиляции к реализации, я получаю следующую ошибку (только важные биты) при использовании библиотекив моем приложении:

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/bumptech/glide/request/RequestOptions;

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.bumptech.glide.request.RequestOptions" on path: DexPathList

Я пытался очистить и восстановить, и это не помогает.Во второй раз я переключаюсь обратно на вызовы компиляции, все работает просто отлично

Замечу, что библиотека будет прекрасно работать во всех случаях.

Следующее использование работает (хотя и предупреждает, что компиляция не рекомендуется):

    compile fileTree(dir: 'libs', include: ['*.jar'])
    testImplementation 'junit:junit:4.12'
    compile 'com.github.ybq:Android-SpinKit:1.2.0'
    compile 'io.reactivex.rxjava2:rxandroid:2.1.0'
    compile 'androidx.appcompat:appcompat:1.0.2'
    compile "com.github.bumptech.glide:glide:4.4.0"
    compile 'androidx.recyclerview:recyclerview:1.0.0'
    compile "com.github.chrisbanes:PhotoView:1.3.1"
    compile 'com.google.android.material:material:1.0.0'

Следующее дает вышеупомянутую ошибку (также дает ошибку, если я использую api вместо реализации):

    implementation fileTree(dir: 'libs', include: ['*.jar'])
    testImplementation 'junit:junit:4.12'
    implementation 'com.github.ybq:Android-SpinKit:1.2.0'
    implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation "com.github.bumptech.glide:glide:4.4.0"
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
    implementation "com.github.chrisbanes:PhotoView:1.3.1"
    implementation 'com.google.android.material:material:1.0.0'

Я также добавлю, что если я просто переключаю глиссад для компиляции, то это дает ту же ошибкуно о другой зависимости.Может ли кто-нибудь помочь мне понять это?Я мог бы просто пока оставить компиляцию, но я хочу обновить это.

1 Ответ

1 голос
/ 04 мая 2019

После нескольких часов отладки я наконец понял это

classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'

Обновление подключаемого модуля maven gradle в моей библиотеке до версии 2.1 с версии 1.5 решило проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...