expo: [expo-image-picker] Could not find com.theartofdev.edmodo:android-image-cropper:2.8.0

Summary

Changing jcenter() with mavenCentral() throws this error:

BUILD FAILED in 1m 6s

error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: ./gradlew app:installDevDebug -PreactNativeDevServerPort=8081

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDevDebugAssets'.
> Could not resolve all files for configuration ':app:devDebugRuntimeClasspath'.
   > Could not find com.theartofdev.edmodo:android-image-cropper:2.8.0.
     Searched in the following locations:
       - https://repo.maven.apache.org/maven2/com/theartofdev/edmodo/android-image-cropper/2.8.0/android-image-cropper-2.8.0.pom
       - file:/Users/aprilmintacpineda/.m2/repository/com/theartofdev/edmodo/android-image-cropper/2.8.0/android-image-cropper-2.8.0.pom
       - file:/Users/aprilmintacpineda/projects/rn-proj-pronetplat-aa/node_modules/react-native/android/com/theartofdev/edmodo/android-image-cropper/2.8.0/android-image-cropper-2.8.0.pom
       - file:/Users/aprilmintacpineda/projects/rn-proj-pronetplat-aa/node_modules/jsc-android/dist/com/theartofdev/edmodo/android-image-cropper/2.8.0/android-image-cropper-2.8.0.pom
       - https://dl.google.com/dl/android/maven2/com/theartofdev/edmodo/android-image-cropper/2.8.0/android-image-cropper-2.8.0.pom
       - https://www.jitpack.io/com/theartofdev/edmodo/android-image-cropper/2.8.0/android-image-cropper-2.8.0.pom
       - https://maven.google.com/com/theartofdev/edmodo/android-image-cropper/2.8.0/android-image-cropper-2.8.0.pom
     Required by:
         project :app > project :expo-image-picker
   > Could not find com.android.volley:volley:1.1.1.
     Searched in the following locations:
       - https://repo.maven.apache.org/maven2/com/android/volley/volley/1.1.1/volley-1.1.1.pom
       - file:/Users/aprilmintacpineda/.m2/repository/com/android/volley/volley/1.1.1/volley-1.1.1.pom
       - file:/Users/aprilmintacpineda/projects/rn-proj-pronetplat-aa/node_modules/react-native/android/com/android/volley/volley/1.1.1/volley-1.1.1.pom
       - file:/Users/aprilmintacpineda/projects/rn-proj-pronetplat-aa/node_modules/jsc-android/dist/com/android/volley/volley/1.1.1/volley-1.1.1.pom
       - https://dl.google.com/dl/android/maven2/com/android/volley/volley/1.1.1/volley-1.1.1.pom
       - https://www.jitpack.io/com/android/volley/volley/1.1.1/volley-1.1.1.pom
       - https://maven.google.com/com/android/volley/volley/1.1.1/volley-1.1.1.pom
     Required by:
         project :app > project :react-native-google-places > com.google.android.libraries.places:places:1.1.0

Current work around is to not move to mavenCentral()

Managed or bare workflow? If you have ios/ or android/ directories in your project, the answer is bare!

bare

What platform(s) does this occur on?

Android

SDK Version (managed workflow only)

No response

Environment

Expo CLI 4.11.0 environment info:
  System:
    OS: macOS 11.3
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.8.0 - ~/.nvm/versions/node/v16.8.0/bin/node
    Yarn: 1.22.11 - /usr/local/bin/yarn
    npm: 7.21.0 - ~/.nvm/versions/node/v16.8.0/bin/npm
    Watchman: 2021.08.30.00 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.10.2 - /Users/aprilmintacpineda/.rvm/gems/ruby-3.0.2/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
    Android SDK:
      API Levels: 24, 26, 28, 29, 30, 31
      Build Tools: 28.0.3, 29.0.2, 29.0.3, 30.0.2
      System Images: android-24 | Google Play Intel x86 Atom, android-26 | Google APIs Intel x86 Atom, android-28 | Google Play Intel x86 Atom, android-29 | Google Play Intel x86 Atom, android-30 | Google APIs Intel x86 Atom, android-30 | Google Play Intel x86 Atom
  IDEs:
    Android Studio: 4.1 AI-201.8743.12.41.6953283
    Xcode: 12.5.1/12E507 - /usr/bin/xcodebuild
  npmPackages:
    react: 17.0.2 => 17.0.2
    react-native: 0.65.1 => 0.65.1
  Expo Workflow: bare

Reproducible demo or steps to reproduce from a blank project

Install expo-image-picker on react-native 0.65 and replace jcenter() with mavenCentral() on your android/build.gradle.

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 14
  • Comments: 21 (6 by maintainers)

Most upvoted comments

For now you can also instruct Gradle to use JCenter specifically for this library:

allprojects {
    repositories {
        mavenCentral()
        mavenLocal()

        //noinspection JcenterRepositoryObsolete
        jcenter() {
            content {
                includeModule("com.theartofdev.edmodo", "android-image-cropper")
            }
        }

       ...
  }
}

a workaround is add this line under repositories in android/build.gradle file maven { url "https://plugins.gradle.org/m2/" }

I’m trying to integrate this package into a project and this issue is preventing our Android builds from passing. Even with the fix mentioned above, it seems to be unreliable since our build still fails quite regularly with:

Could not resolve all artifacts for configuration ‘:app:devDebugRuntimeClasspath’. Could not resolve com.theartofdev.edmodo:android-image-cropper:2.8.0. Required by: project :app > project :expo > project :expo-image-picker Could not resolve com.theartofdev.edmodo:android-image-cropper:2.8.0. Could not get resource ‘https://www.jitpack.io/com/theartofdev/edmodo/android-image-cropper/2.8.0/android-image-cropper-2.8.0.pom’. Could not GET ‘https://www.jitpack.io/com/theartofdev/edmodo/android-image-cropper/2.8.0/android-image-cropper-2.8.0.pom’. Read timed out

Since #16122 is merged to properly address this, can we please prioritise getting it released?

This issue should not be considered stale. It seems that the changes have been done but have not been released yet. Is there any ETA for a release?

we have moved off of com.theartofdev.edmodo:android-image-cropper in sdk 45, thanks to this commit https://github.com/expo/expo/commit/8013ddb787c8c514eab6ea84a027f293751ee3cd

@lawrence-laz - yeah the messaging has been a bit confusing. the canonical source is https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/ - their most recent update states:

UPDATE 4/27/2021: We listened to the community and will keep JCenter as a read-only repository indefinitely. Our customers and the community can continue to rely on JCenter as a reliable mirror for Java packages.

jcenter is not closed, it’s read-only and staying up indefinitely but currently experiencing an outage.

we migrated off of com.theartofdev.edmodo:android-image-cropper in https://github.com/expo/expo/pull/16122. this pr shipped as part of sdk 45 beta, with the full release coming soon. you can opt into it early by updating to the beta or you can try using the next version on npm