Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Bitbucket Pipeline Android: Could not resolve com.android.tools.build:gradle:8.1.0.

Relaxo August 17, 2023

Hi, I have a pipeline with a simple step

- step:
name: Test
caches:
- gradle
image: bitbucketpipelines/android-ci-image
script:
- ./gradlew test

In another project this worked before with another image, but that image is no longer available so i tried it with the official bitbucketpipelines/android-ci-image.

Now I get the following error. Should the image work with my configuration? Do I anything wrong? Relevant parts of Gradle files also following:

Welcome to Gradle 8.2.1!

Here are the highlights of this release:
- Kotlin DSL: new reference documentation, assignment syntax by default
- Kotlin DSL is now the default with Gradle init
- Improved suggestions to resolve errors in console output
- Reduced sync memory consumption

For more details see https://docs.gradle.org/8.2.1/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'AppName'.
> Could not resolve all files for configuration ':classpath'.
> Could not resolve com.android.tools.build:gradle:8.1.0.
Required by:
project : > com.android.application:com.android.application.gradle.plugin:8.1.0
project : > com.android.library:com.android.library.gradle.plugin:8.1.0
> No matching variant of com.android.tools.build:gradle:8.1.0 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.2.1' but:
- Variant 'apiElements' capability com.android.tools.build:gradle:8.1.0 declares a library, packaged as a jar, and its dependencies declared externally:
- Incompatible because this component declares a component for use during compile-time, compatible with Java 11 and the consumer needed a component for use during runtime, compatible with Java 8
- Other compatible attribute:
- Doesn't say anything about org.gradle.plugin.api-version (required '8.2.1')
- Variant 'javadocElements' capability com.android.tools.build:gradle:8.1.0 declares a component for use during runtime, and its dependencies declared externally:
- Incompatible because this component declares documentation and the consumer needed a library
- Other compatible attributes:
- Doesn't say anything about its target Java version (required compatibility with Java 8)
- Doesn't say anything about its elements (required them packaged as a jar)
- Doesn't say anything about org.gradle.plugin.api-version (required '8.2.1')
- Variant 'runtimeElements' capability com.android.tools.build:gradle:8.1.0 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally:
- Incompatible because this component declares a component, compatible with Java 11 and the consumer needed a component, compatible with Java 8
- Other compatible attribute:
- Doesn't say anything about org.gradle.plugin.api-version (required '8.2.1')
- Variant 'sourcesElements' capability com.android.tools.build:gradle:8.1.0 declares a component for use during runtime, and its dependencies declared externally:
- Incompatible because this component declares documentation and the consumer needed a library
- Other compatible attributes:
- Doesn't say anything about its target Java version (required compatibility with Java 8)
- Doesn't say anything about its elements (required them packaged as a jar)
- Doesn't say anything about org.gradle.plugin.api-version (required '8.2.1')

Top level build.gradle

plugins {
id 'com.android.application' version '8.1.0' apply false
id 'com.android.library' version '8.1.0' apply false
id 'org.jetbrains.kotlin.android' version '1.8.21' apply false
id 'com.google.dagger.hilt.android' version '2.45' apply false
}

Project level build.gradle

android {

namespace 'placeholder'
compileSdk 33

defaultConfig {
applicationId "placeholder"
minSdk 26
targetSdk 33
versionCode 1
versionName "0." + buildNumber

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary true
}
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_17
}
buildFeatures {
compose true
}
composeOptions {
kotlinCompilerExtensionVersion '1.4.7'
}
packagingOptions {
resources {
excludes += '/META-INF/{AL2.0,LGPL2.1}'
}
}

kapt {
correctErrorTypes true
arguments {
arg("room.schemaLocation", "$projectDir/schemas")
}
}

}

1 answer

1 accepted

0 votes
Answer accepted
Norbert C
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
August 22, 2023

Hi there,

Thank you for reaching out to Atlassian Community! 

I'd like to inform you that unfortunately this image doesn't seem to be compatible as the issue you're facing is that the Android Gradle Plugin version 8.1.0 is being requested, but it appears to be incompatible with the Java version being used (Java 8). The error message indicates that the Android Gradle Plugin 8.1.0 expects Java 11, but this image is currently using Java 8.

When I accessed the image, I was able to confirm that it's using Java 8, please see:

docker run -it bitbucketpipelines/android-ci-image /bin/bash
Unable to find image 'bitbucketpipelines/android-ci-image:latest' locally
latest: Pulling from bitbucketpipelines/android-ci-image
000eee12ec04: Pull complete
2f1dc2bdcfe1: Pull complete
c2a806caa98c: Pull complete
c5943b75c974: Pull complete
0a99bba8cba5: Pull complete
Digest: sha256:ac99647b6ae7de3a54f3849f69a385d2e9130a7601fbe61749a6918bf156225d
Status: Downloaded newer image for bitbucketpipelines/android-ci-image:latest
root@cccf6b9e88c4:/# java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

 As a recommendation I'd like to recommend you to use a different image, which is utilizing Java 11.

Relaxo August 28, 2023

Ok, found one:

image: cimg/android:2023.08.1

Would be nice, if the bitbucket image will also work.

But thank you, my problem is solved.

Kashif Hussain
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
October 28, 2023

But when i use this Image, then thorws Permission denied error

bash: ./gradlew: Permission denied

 

I tried to make an executable file but it wont let me.

Please tell me what changes do i need to make ?

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
TAGS
AUG Leaders

Atlassian Community Events