# JCenter Shutdown: Fixing Old Android and Flutter Builds

> JCenter shutdown: Bintray closed in 2021 and Gradle 9 removed jcenter(). How to fix an old Android or Flutter build that still uses it, checked Oct 18, 2026.

Canonical: https://app369.com/blog/jcenter-bintray-shut-down-fix-android-flutter-builds-2026/
Last updated: 2026-10-21

[![Simon Dziak](https://app369.com/.netlify/images?w=48&amp;h=48&amp;fm=webp&amp;q=100&amp;url=%2Fimages%2Fszymon.jpg) **Simon Dziak** Founder & developer, App369](https://app369.com/about/szymon-dziak/) [LinkedIn](https://www.linkedin.com/in/szymondziak/)

Published October 18, 2026 · Updated October 21, 2026•Facts last verified October 21, 2026•7 min

App369https://app369.com/blog/jcenter-bintray-shut-down-fix-android-flutter-builds-2026/

[← Back to Blog](https://app369.com/blog/)

## Key takeaways

- →JFrog announced on February 3, 2021 that it was ending Bintray, JCenter, GoCenter and ChartCenter. It later kept JCenter as a read-only repository that stopped taking new submissions on March 31, 2021. Bintray stopped on May 1, 2021, and JCenter has redirected to Maven Central since August 15, 2024.
- →Gradle deprecated jcenter() in Gradle 7.0 and removed it in Gradle 9.0. On Gradle 9, any build file that still calls jcenter() fails before it downloads anything.
- →On October 18, 2026, bintray.com did not load, dl.bintray.com returned 404, and jcenter.bintray.com redirected to repo1.maven.org. A library that was only ever published on JCenter now returns 404.
- →The usual fix: replace jcenter() with mavenCentral() and google(), in your own build files and in any old plugin that still declares it.
- →If a dependency was never moved to Maven Central, upgrade to a maintained version, build it from source through JitPack, or keep a copy of the file in your project.

Pricing an app? Try the free [app cost calculator](https://app369.com/tools/app-cost-calculator/) or get a range for your project in the [instant quote](https://app369.com/instant-quote/).

**Bintray is gone and JCenter is now only a redirect to Maven Central, so an Android or Flutter project that still points at them can fail to build or fail to find some of its libraries.** Often the fix is short: replace `jcenter()` with `mavenCentral()` and `google()`. The harder cases are old plugins that still declare JCenter and libraries that were never published anywhere else. Both are covered below.

If you landed here from an old Bintray link or a README that says to add JCenter, this is what changed and how to fix the build. The dates come from JFrog, Gradle and Android Developers, as listed in the sources. I tested the Bintray and JCenter addresses below myself on October 18, 2026, and again on October 21, 2026, with the same results.

**Disclosure:** App369 is my studio. I fix and maintain Flutter and Android apps for a living, and the last section mentions what I sell. No company named here paid for a mention.

## What happened to Bintray and JCenter, and when

| Date | What happened | Source |
| --- | --- | --- |
| February 3, 2021 | JFrog announces the end of Bintray, JCenter, GoCenter and ChartCenter. JCenter later stays read-only, with no new submissions after March 31, 2021 | [JFrog](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/) |
| February 22, 2021 | Gradle tells users to replace JCenter with Maven Central and says Gradle 7.0 will deprecate `jcenter()` | [Gradle blog](https://blog.gradle.org/jcenter-shutdown) |
| March 31, 2021 | JCenter stops accepting new submissions | [JFrog](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/) |
| **May 1, 2021** | **Bintray shuts down** | [JFrog](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/) |
| 2021 to 2024 | JCenter stays up as a read-only repository | [Gradle blog](https://blog.gradle.org/jcenter-shutdown) |
| **August 15, 2024** | **JCenter starts redirecting every request to Maven Central** | [JFrog](https://jfrog.com/blog/jcenter-sunset/) |
| Gradle 9.0 | Gradle removes the `jcenter()` method | [Gradle docs](https://docs.gradle.org/current/userguide/upgrading_major_version_9.html) |

Android’s JCenter migration page still says JCenter allows downloads of existing artifacts indefinitely. JFrog’s 2024 post and Gradle’s 9.0 upgrade guide both describe the redirect to Maven Central, and that redirect is what I saw when I tested it.

### What the old addresses do today

Checked on October 18 and again on October 21, 2026:

- **bintray.com** did not load: the connection timed out.
- **dl.bintray.com**, where many READMEs linked downloads and custom repositories, returned **404**.
- **jcenter.bintray.com** returned a **301 redirect to repo1.maven.org**, Maven Central.
- A library that was only ever published on JCenter, `org.jetbrains.kotlinx:kotlinx-html-jvm:0.6.12`, followed the redirect to Maven Central and returned **404**.

So JCenter now works only for files that also exist on Maven Central. Anything else fails, sometimes with a confusing “could not find” error for a version you know used to exist.

## How to fix the build

Work through these in order. Steps 1 and 2 cover your own files, and steps 3 to 5 cover plugins and libraries.

1. **Replace `jcenter()` in your own build files.** In an Android project, look in `settings.gradle` (or `settings.gradle.kts`) under `pluginManagement` and `dependencyResolutionManagement`, and in the top-level `build.gradle` under `buildscript` and `allprojects`. In a Flutter app the same files are under `android/`. Replace `jcenter()` with `mavenCentral()`, and make sure `google()` is there too. Keep `gradlePluginPortal()` in `pluginManagement` if it is already there.```
repositories {
    google()
    mavenCentral()
}
```
2. **Sync, then read the first error.** If it names a library that can’t be found, go to step 4. If it mentions `jcenter()` and points at a file you don’t own, go to step 3.
3. **Fix plugins and libraries that still declare JCenter.** On Gradle 9 the build stops at any `jcenter()` call in a build file Gradle runs, and that includes Flutter plugins, which are built as part of your app. So in a Flutter app the culprit is usually an old plugin: check the plugin’s changelog, then raise its version in `pubspec.yaml` and run `flutter pub upgrade`. If the plugin is unmaintained, look for a maintained fork or a replacement plugin. Editing files in the pub cache is fragile: the change doesn’t reach CI or other machines, and it is lost when the cache is cleared or repaired. A fork referenced from `dependency_overrides` in `pubspec.yaml` is the safer way to patch a plugin. If you can’t upgrade the plugin yet, staying on Gradle 8 buys time, but it doesn’t fix the underlying problem.
4. **Find a new home for JCenter-only libraries.** Search [Maven Central](https://central.sonatype.com/) for the library. Many moved there under the same group ID, sometimes with a newer version only. If the source is on GitHub, [JitPack](https://jitpack.io/) can build it from a release tag: add `maven { url = uri('https://jitpack.io') }` (Groovy DSL; in Kotlin DSL it is `maven(url = "https://jitpack.io")`) and use `com.github.<user>:<repo>:<tag>` coordinates. JitPack builds the code itself, so check that the tag is the version you expect. As a last resort, put the JAR or AAR in a `libs/` folder and depend on it as a local file. That works in the app module; in a plugin or library module, use a file-based Maven repository instead. A local file also drops the library’s own dependencies, so add those yourself, and note the library as something to replace.
5. **Check for other dead repositories.** Remove any `maven { url "https://dl.bintray.com/..." }` lines. Each one is a dead address that slows down or breaks resolution.
6. **Build from a clean state.** Run the build with an empty Gradle cache (a fresh `GRADLE_USER_HOME` or a clean CI runner, plus `flutter clean` in a Flutter app) before you call it fixed. A cache on your own machine can hide a library that no longer downloads anywhere.

## When it’s more than a one-line change

| What you see | What it usually means | Usual fix |
| --- | --- | --- |
| The build fails on `jcenter()` after a Gradle upgrade | A build file, yours or a plugin’s, still calls the removed method | Replace it in your files, and upgrade the plugin |
| “Could not find” for an old version of a library | That version only existed on JCenter | Use a version that is on Maven Central, or JitPack |
| A README says to add a dl.bintray.com repository | The project published only through Bintray | Check Maven Central and GitHub releases for the same project |
| The project hasn’t been built in years | JCenter is one of several outdated pieces | Upgrade Gradle, Android Gradle Plugin and Kotlin step by step |

A project that has sat untouched since 2020 or 2021 usually needs more than the repository change: newer Gradle and Android Gradle Plugin versions, a newer Kotlin, and a recent target API level, because Google Play requires updates to meet its current target API requirement (check the deadline in Play Console). Do those one at a time and build after each, so you know which change broke what.

For the iOS side of the same problem, see [Flutter iOS build failed after an upgrade](https://app369.com/blog/flutter-ios-build-failed-after-upgrade-2026/).

If the build gets past the repositories and then fails with “Unsupported class file major version”, your Java is newer than your Gradle: see [the Java and Gradle version fix](https://app369.com/fix/flutter-unsupported-class-file-major-version/).

## Need a hand?

If the build still fails after these steps, or the project is old enough that JCenter is only the first problem, the [App Fix Ticket](https://app369.com/fixed-price/flutter-firebase-bug-fix/) is two fixed-price steps. A $450 Diagnosis gives you the root cause with evidence and a fixed repair quote within 3 business days, credited toward the fix. If you go ahead, the $1,200 Fix takes 5 business days. If you’re not sure it fits, [send me a short description](https://app369.com/contact/) of the error and the project’s age, and I’ll tell you where I’d start.

## **Want this done at a fixed price?**

Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.

- [**App Fix Ticket**from $450One reproducible bug in an existing mobile or web app, diagnosed and fixed.](https://app369.com/fixed-price/flutter-firebase-bug-fix/)

## **Frequently asked questions**

<dl>

<dt>**Is JCenter still available?**</dt>
<dd>Not as its own repository. JFrog stopped new submissions on March 31, 2021, and on August 15, 2024 it started redirecting all JCenter requests to Maven Central. Anything that exists on Maven Central still downloads, and anything that only existed on JCenter now returns 404.</dd>

<dt>**What replaced JCenter?**</dt>
<dd>Maven Central, through mavenCentral() in Gradle. Android Gradle Plugin and AndroidX libraries come from Google's Maven repository, through google(). Many Android and Flutter projects need nothing else.</dd>

<dt>**Why does my build fail on jcenter() after upgrading Gradle?**</dt>
<dd>Gradle removed the jcenter() method in Gradle 9.0, after deprecating it in Gradle 7.0. Any build file that still calls it, including one inside an old plugin or library, stops the build. Replace it with mavenCentral(), or upgrade the plugin that declares it.</dd>

<dt>**What happened to dl.bintray.com links?**</dt>
<dd>Bintray shut down on May 1, 2021. dl.bintray.com returned 404 when I tested it on October 18, 2026, and bintray.com itself did not load. If a README tells you to download a file or add a repository from Bintray, look for the same project on Maven Central or GitHub releases.</dd>

<dt>**How do I fix a Flutter Android build that still uses jcenter()?**</dt>
<dd>Check android/build.gradle and android/settings.gradle in your app first, and replace jcenter() with mavenCentral(). If the error points into a plugin, upgrade that plugin with flutter pub upgrade or a newer version in pubspec.yaml. Plugins that are no longer maintained may need a fork or a replacement.</dd>

<dt>**What if a library I need was only on JCenter?**</dt>
<dd>Search Maven Central for a newer version under the same or a new group ID. If the source is on GitHub, JitPack can build it from a tag. As a last resort, keep the JAR or AAR file in your project and depend on it locally, and plan to replace the library.</dd>

</dl>

## **Sources**

1. [JFrog, "Into the Sunset on May 1st: Bintray, GoCenter, and ChartCenter" (February 3, 2021, since updated; the original title also named JCenter)](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/)
2. [JFrog, "JCenter Sunset on August 15th, 2024" (July 2, 2024)](https://jfrog.com/blog/jcenter-sunset/)
3. [Gradle blog, "JCenter shutdown impact on Gradle builds" (February 22, 2021)](https://blog.gradle.org/jcenter-shutdown)
4. [Gradle, upgrading to Gradle 9.0 (removal of jcenter())](https://docs.gradle.org/current/userguide/upgrading_major_version_9.html)
5. [Android Developers, JCenter migration](https://developer.android.com/build/jcenter-migration)
6. [Maven Central search](https://central.sonatype.com/)
7. [JitPack](https://jitpack.io/)
8. [JFrog, "Into the Sunset on May 1st: Bintray, GoCenter, and ChartCenter" (February 3, 2021)](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/)
9. [Gradle, declaring repositories](https://docs.gradle.org/current/userguide/declaring_repositories.html)
10. [Gradle, Declaring repositories](https://docs.gradle.org/current/userguide/declaring_repositories.html)

Tags

#jcenter shutdown #bintray shut down #jcenter alternative #jcenter deprecated #replace jcenter with mavenCentral #could not find method jcenter #gradle 9 jcenter #dl.bintray.com 404 #flutter android build failed jcenter #old android project build

Generated from app369.com . © 2026 App369. All rights reserved.

**Share:**

[Share on Twitter](https://twitter.com/intent/tweet?text=JCenter%20Shutdown%3A%20Fixing%20Old%20Android%20and%20Flutter%20Builds&amp;url=https%3A%2F%2Fapp369.com%2Fblog%2Fjcenter-bintray-shut-down-fix-android-flutter-builds-2026%2F) [Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fapp369.com%2Fblog%2Fjcenter-bintray-shut-down-fix-android-flutter-builds-2026%2F) [Share on Facebook](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fapp369.com%2Fblog%2Fjcenter-bintray-shut-down-fix-android-flutter-builds-2026%2F)

## **Related Resources **

[Flutter "Deleted Android v1 Embedding" Build Error: The Fix](https://app369.com/blog/flutter-deleted-android-v1-embedding-build-failed-2026/) [Flutter Android Build Fails After AGP 9: The Fix](https://app369.com/blog/flutter-android-gradle-plugin-9-build-failed-fix-2026/) [Google Play 16 KB Page Size: Fixing Flutter and Android Apps](https://app369.com/blog/google-play-16kb-page-size-flutter-android-2026/) [Flutter iOS Build Failed After an Upgrade? Fix CocoaPods and Xcode Errors (2026)](https://app369.com/blog/flutter-ios-build-failed-after-upgrade-2026/) [Flutter "Applying Gradle Plugin Imperatively" Error: The Fix](https://app369.com/blog/flutter-gradle-plugin-applied-imperatively-fix-2026/) [Flutter vs Native in 2026: An Honest Decision Guide](https://app369.com/blog/flutter-vs-native-app-development-2026/)

## **Related guides **

[<h3>**Flutter iOS Build Failed After an Upgrade? Fix CocoaPods and Xcode Errors (2026)**</h3>Flutter iOS build failed after upgrading Flutter, FlutterFire or Xcode? How to read the real error, then fix CocoaPods, deployment target and plugin mismatches.**Read more **](https://app369.com/blog/flutter-ios-build-failed-after-upgrade-2026/) [<h3>**HockeyApp, Fabric and App Center Are Gone: Beta Testing and Crash Reporting in 2026**</h3>HockeyApp alternative: HockeyApp, Fabric and App Center are gone or going. The 2026 options for mobile beta testing and crash reporting, checked Oct 17, 2026.** Read more **](https://app369.com/blog/mobile-app-beta-testing-crash-reporting-tools-2026/) [<h3>**Parse, Kinvey and Realm Sync Are Gone: Where to Run Your App Backend in 2026**</h3>Parse alternatives: Parse, Kinvey, Realm Sync and others shut down. The 2026 backend options, from Firebase to Appwrite, with prices checked Oct 17, 2026.** Read more **](https://app369.com/blog/parse-kinvey-backend-as-a-service-alternatives-2026/)