Не удалось разрешить: com.github.smarteist:autoimageslider:1.4.0-appcompat

Вопрос или проблема

Недавно я перешел на Android Studio Ladybug | 2024.2.1 Patch 1, однако после переключения я сталкиваюсь с 4 ошибками во время синхронизации проекта.

Не удалось разрешить: com.github.smarteist:autoimageslider:1.4.0-appcompat
Показать в диалоговом окне структуры проекта
Показать детали
Затронутые модули: app

Не удалось разрешить: com.etebarian:meow-bottom-navigation-java:1.2.0
Показать в диалоговом окне структуры проекта
Показать детали
Затронутые модули: app

Не удалось разрешить: com.github.JakeWharton:ViewPagerIndicator:2.4.1
Показать в диалоговом окне структуры проекта
Показать детали
Затронутые модули: app

Не удалось разрешить: com.theartofdev.edmodo:android-image-cropper:2.8.0
Показать в диалоговом окне структуры проекта
Показать детали
Затронутые модули: app

Скриншот сообщения об ошибке

Сколько бы я ни пытался, ничего не получается. Можете ли вы, пожалуйста, помочь мне решить эту проблему? Мои коды ниже:

Версия Gradle

build.gradle (Модуль)

плагины {
    id 'com.android.application'
    id 'com.google.gms.google-services'
    id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
}


android {
    namespace 'com.project.localshop'
    compileSdk 34

    defaultConfig {
        applicationId "com.project.localshop"
        minSdk 21
        targetSdk 34
        versionCode 30
        versionName "3.30.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        signingConfig signingConfigs.debug
    }

    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    buildFeatures {
        viewBinding true
    }
}

dependencies {
    implementation 'androidx.appcompat:appcompat:1.7.0'
    implementation 'com.google.android.material:material:1.12.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    implementation 'androidx.annotation:annotation:1.9.0'
    implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.8.6'
    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6'
    implementation 'androidx.fragment:fragment:1.8.4'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.2.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
    implementation 'androidx.recyclerview:recyclerview:1.3.2'
    implementation 'androidx.cardview:cardview:1.0.0'

    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
    implementation 'com.github.bumptech.glide:glide:4.15.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.15.0'

    implementation "androidx.viewpager2:viewpager2:1.1.0"
    implementation "com.google.code.gson:gson:2.10.1"
    implementation 'com.google.android.material:material:1.13.0-alpha07'

    implementation 'com.karumi:dexter:6.2.3'
    implementation 'com.google.android.gms:play-services-maps:19.0.0'
    implementation 'com.google.android.gms:play-services-location:21.3.0'

    implementation 'com.makeramen:roundedimageview:2.3.0'
    implementation 'com.android.support:design:28.0.0'

    implementation "com.airbnb.android:lottie:6.0.0"
    implementation 'de.hdodenhof:circleimageview:3.1.0'
    implementation 'com.sothree.slidinguppanel:library:3.4.0'
    implementation 'com.android.volley:volley:1.2.1'
    implementation 'androidx.browser:browser:1.8.0'

    implementation platform("com.google.firebase:firebase-bom:33.4.0")
    implementation 'com.google.firebase:firebase-auth'
    implementation 'com.google.firebase:firebase-analytics'
    implementation 'com.google.firebase:firebase-firestore'
    implementation 'com.google.firebase:firebase-messaging'
    implementation 'com.google.firebase:firebase-appcheck-playintegrity'
    implementation 'com.google.android.play:integrity:1.4.0'

    implementation 'com.github.smarteist:autoimageslider:1.4.0-appcompat'
    implementation 'com.etebarian:meow-bottom-navigation-java:1.2.0'
    implementation 'com.github.JakeWharton:ViewPagerIndicator:2.4.1'
    implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0'
}

build.gradle(Проект)

buildscript {
    dependencies {
        classpath 'com.google.gms:google-services:4.4.2'
    }
}// Файл сборки верхнего уровня, куда вы можете добавить параметры конфигурации, общие для всех подпроектов/модулей.

плагины {
    id 'com.android.application' version '8.7.1' apply false
    id 'com.android.library' version '8.7.1' apply false
    id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false
}

settings.gradle

import org.gradle.api.initialization.resolve.RepositoriesMode

pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenLocal()
        mavenCentral()
        maven { url 'https://jitpack.io' }
        maven { url 'https://plugins.gradle.org/m2/' }
        maven { url 'https://repo.spring.io/plugins-release/' }
        maven { url 'https://maven.cashfree.com/release' }
    }
}
rootProject.name = "localshop"
include ':app'

Большое спасибо за вашу помощь и поддержку.

Я пытался добавить jcenter() в файл settings.gradle, но, похоже, он теперь устарел, и новая версия – это mavenCentral(), который я уже добавил.

Все зависимости, которые вы упомянули, не поддерживались долгое время.

Поскольку JCenter закрывается, издатели этих библиотек должны перенести их в MavenCentral. Если они этого не сделали, вы не сможете их использовать.

Ваши варианты:

  1. Клонировать репозитории и работать с ними, чтобы они соответствовали текущим уровням API
  2. Найти более современные альтернативные библиотеки, которые помогут вам в вашей задаче

Ответ или решение

Проблема, с которой вы столкнулись, связана с невозможностью разрешения зависимостей в вашем проекте Android. Давайте подробно разберем, что происходит, и как это можно исправить.

1. Причины ошибки

При переходе на новую версию Android Studio (Ladybug | 2024.2.1 Patch 1) и синхронизации проекта вы столкнулись с несколькими сообщениями об ошибках, связанными с отказом в разрешении следующих зависимостей:

  • com.github.smarteist:autoimageslider:1.4.0-appcompat
  • com.etebarian:meow-bottom-navigation-java:1.2.0
  • com.github.JakeWharton:ViewPagerIndicator:2.4.1
  • com.theartofdev.edmodo:android-image-cropper:2.8.0

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

  • autoimageslider – последний релиз был в 2020 году.
  • meow-bottom-navigation-java – также актуальна с 2020 года.
  • ViewPagerIndicator – не обновлялся уже более 12 лет.
  • android-image-cropper – последний релиз был 6 лет назад.

2. Потенциальное решение

Из-за перехода JCenter в статус завершения работы, многие библиотеки не были перенесены в MavenCentral. Если поддержка библиотек не обновляется, это может привести к невозможности их использования в современных проектах. Чтобы решить эту проблему, у вас есть несколько опций:

  1. Клонирование репозиториев:

    • Вы можете клонировать соответствующие репозитории на GitHub и внести необходимые изменения, чтобы они соответствовали современным стандартам API. Это может потребовать значительных усилий и навыков разработки, так как вам придется следить за обновлениями из других зависимостей.
  2. Поиск новых альтернативных библиотек:

    • Возможно, вам стоит рассмотреть возможность замены устаревших библиотек на более современные и поддерживаемые альтернативы. Например:
      • Вместо autoimageslider можно использовать ViewPager2 с RecyclerView, который обеспечивает аналогичную функциональность и активно поддерживается.
      • Для MeowBottomNavigation существуют другие библиотеки для навигации, такие как BottomNavigationView, которая входит в состав Material Components.
      • ViewPagerIndicator может быть заменен на его более современные аналоги.
      • Для работы с обрезкой изображений рекомендую использовать библиотеку CropImage от ArthurHub, которая активно поддерживается.

3. Как избежать проблем в будущем

  • Постоянно проверяйте зависимость на актуальность: Прежде чем добавлять новую библиотеку, исследуйте ее историю обновлений и активность сообщества.
  • Используйте современные решения: Обратите внимание на изменения в Android API и выбирайте библиотеки, совместимые с последними версиями.
  • Следите за новыми релизами: Подписывайтесь на обновления выбранных вами библиотек через GitHub или другие ресурсы, чтобы быть в курсе новых версий и патчей.

Заключение

Ваша текущая проблема связана с устаревшими зависимостями, которые не могут быть разрешены в новой версии Android Studio. Рекомендуется либо обновить библиотеки до более современных аналогов, либо при необходимости обновить сами библиотеки. Убедитесь, что ваши зависимости активны и имеют сообщество, которое поддерживает их. Это поможет избежать подобных проблем в будущем и обеспечит стабильность вашего проекта.

Оцените материал
Добавить комментарий

Капча загружается...