I have been looking for the last few days for a solution to my problem. I have multiple SDKs imported in my project (firebase, facebook, admob, etc) and it was all working fine.
But I then needed to import a AndroidInstallReferrer plugin (this one: https://assetstore.unity.com/packages/tools/integration/android-install-referrer-179422)
And after importing it (it consists of a .jar and an .aar basically) I can't build an APK anymore.
This is the error I get:
Note: D:\Work\MyProject\Project\Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':launcher:checkReleaseDuplicateClasses'.
> 1 exception was raised by workers:
java.lang.RuntimeException: java.lang.RuntimeException: Duplicate class com.android.installreferrer.api.InstallReferrerClient found in modules jetified-installreferrer-1.0-runtime.jar (com.android.installreferrer:installreferrer:1.0) and jetified-installreferrer-2.1-runtime.jar (:installreferrer-2.1:)
Duplicate class com.android.installreferrer.api.InstallReferrerClient$1 found in modules jetified-installreferrer-1.0-runtime.jar (com.android.installreferrer:installreferrer:1.0) and jetified-installreferrer-2.1-runtime.jar (:installreferrer-2.1:)
Duplicate class com.android.installreferrer.api.InstallReferrerClient$Builder found in modules jetified-installreferrer-1.0-runtime.jar (com.android.installreferrer:installreferrer:1.0) and jetified-installreferrer-2.1-runtime.jar (:installreferrer-2.1:)
Duplicate class com.android.installreferrer.api.InstallReferrerClient$InstallReferrerResponse found in modules jetified-installreferrer-1.0-runtime.jar (com.android.installreferrer:installreferrer:1.0) and jetified-installreferrer-2.1-runtime.jar (:installreferrer-2.1:)
Duplicate class com.android.installreferrer.api.InstallReferrerClientImpl found in modules jetified-installreferrer-1.0-runtime.jar (com.android.installreferrer:installreferrer:1.0) and jetified-installreferrer-2.1-runtime.jar (:installreferrer-2.1:)
Duplicate class com.android.installreferrer.api.InstallReferrerClientImpl$1 found in modules jetified-installreferrer-1.0-runtime.jar (com.android.installreferrer:installreferrer:1.0) and jetified-installreferrer-2.1-runtime.jar (:installreferrer-2.1:)
Duplicate class com.android.installreferrer.api.InstallReferrerClientImpl$ClientState found in modules jetified-installreferrer-1.0-runtime.jar (com.android.installreferrer:installreferrer:1.0) and jetified-installreferrer-2.1-runtime.jar (:installreferrer-2.1:)
Duplicate class com.android.installreferrer.api.InstallReferrerClientImpl$InstallReferrerServiceConnection found in modules jetified-installreferrer-1.0-runtime.jar (com.android.installreferrer:installreferrer:1.0) and jetified-installreferrer-2.1-runtime.jar (:installreferrer-2.1:)
Duplicate class com.android.installreferrer.api.InstallReferrerStateListener found in modules jetified-installreferrer-1.0-runtime.jar (com.android.installreferrer:installreferrer:1.0) and jetified-installreferrer-2.1-runtime.jar (:installreferrer-2.1:)
Duplicate class com.android.installreferrer.api.ReferrerDetails found in modules jetified-installreferrer-1.0-runtime.jar (com.android.installreferrer:installreferrer:1.0) and jetified-installreferrer-2.1-runtime.jar (:installreferrer-2.1:)
Duplicate class com.android.installreferrer.commons.InstallReferrerCommons found in modules jetified-installreferrer-1.0-runtime.jar (com.android.installreferrer:installreferrer:1.0) and jetified-installreferrer-2.1-runtime.jar (:installreferrer-2.1:)
Duplicate class com.google.android.finsky.externalreferrer.IGetInstallReferrerService found in modules jetified-installreferrer-1.0-runtime.jar (com.android.installreferrer:installreferrer:1.0) and jetified-installreferrer-2.1-runtime.jar (:installreferrer-2.1:)
Duplicate class com.google.android.finsky.externalreferrer.IGetInstallReferrerService$Stub found in modules jetified-installreferrer-1.0-runtime.jar (com.android.installreferrer:installreferrer:1.0) and jetified-installreferrer-2.1-runtime.jar (:installreferrer-2.1:)
Duplicate class com.google.android.finsky.externalreferrer.IGetInstallReferrerService$Stub$Proxy found in modules jetified-installreferrer-1.0-runtime.jar (com.android.installreferrer:installreferrer:1.0) and jetified-installreferrer-2.1-runtime.jar (:installreferrer-2.1:)
Go to the documentation to learn how to Fix dependency resolution errors.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 59s
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
Any help is greatly appreciated. Also, the jar resolver doesn't work, jetifier and androidx are enabled in gradleTemplate; multidex is enabled in launcher template.
So I tried running ionic cordova run android but I get a build failed with an exception.
Duplicate class com.google.zxing.Binarizer found in modules jetified-com.google.zxing.client.android.captureactivity.jar (com.google.zxing.client.android.captureactivity.jar) and jetified-core-3.3.3.jar (com.google.zxing:core:3.3.3)
Duplicate class com.google.zxing.BinaryBitmap found in modules jetified-com.google.zxing.client.android.captureactivity.jar (com.google.zxing.client.android.captureactivity.jar) and jetified-core-3.3.3.jar (com.google.zxing:core:3.3.3)
Duplicate class com.google.zxing.ChecksumException found in modules jetified-com.google.zxing.client.android.captureactivity.jar (com.google.zxing.client.android.captureactivity.jar) and jetified-core-3.3.3.jar (com.google.zxing:core:3.3.3)
Duplicate class com.google.zxing.DecodeHintType found in modules jetified-com.google.zxing.client.android.captureactivity.jar (com.google.zxing.client.android.captureactivity.jar) and jetified-core-3.3.3.jar (com.google.zxing:core:3.3.3)
Duplicate class com.google.zxing.EncodeHintType found in modules jetified-com.google.zxing.client.android.captureactivity.jar (com.google.zxing.client.android.captureactivity.jar) and jetified-core-3.3.3.jar (com.google.zxing:core:3.3.3)
Duplicate class com.google.zxing.FormatException found in modules jetified-com.google.zxing.client.android.captureactivity.jar (com.google.zxing.client.android.captureactivity.jar) and jetified-core-3.3.3.jar (com.google.zxing:core:3.3.3)
Duplicate class com.google.zxing.LuminanceSource found in modules jetified-com.google.zxing.client.android.captureactivity.jar (com.google.zxing.client.android.captureactivity.jar) and jetified-core-3.3.3.jar (com.google.zxing:core:3.3.3)
Duplicate class com.google.zxing.MultiFormatReader found in modules jetified-com.google.zxing.client.android.captureactivity.jar (com.google.zxing.client.android.captureactivity.jar) and jetified-core-3.3.3.jar (com.google.zxing:core:3.3.3)
Duplicate class com.google.zxing.MultiFormatWriter found in modules jetified-com.google.zxing.client.android.captureactivity.jar (com.google.zxing.client.android.captureactivity.jar) and jetified-core-3.3.3.jar (com.google.zxing:core:3.3.3)
Duplicate class com.google.zxing.MultiFormatWriter$1 found in modules jetified-com.google.zxing.client.android.captureactivity.jar (com.google.zxing.client.android.captureactivity.jar) and jetified-core-3.3.3.jar (com.google.zxing:core:3.3.3)
Duplicate class com.google.zxing.NotFoundException found in modules jetified-com.google.zxing.client.android.captureactivity.jar (com.google.zxing.client.android.captureactivity.jar) and jetified-core-3.3.3.jar (com.google.zxing:core:3.3.3)
Duplicate class com.google.zxing.PlanarYUVLuminanceSource found in modules jetified-com.google.zxing.client.android.captureactivity.jar (com.google.zxing.client.android.captureactivity.jar) and jetified-core-3.3.3.jar (com.google.zxing:core:3.3.3)
Duplicate class com.google.zxing.RGBLuminanceSource found in modules jetified-com.google.zxing.client.android.captureactivity.jar (com.google.zxing.client.android.captureactivity.jar) and jetified-core-3.3.3.jar (com.google.zxing:core:3.3.3)
Duplicate class com.google.zxing.Reader found in modules jetified-com.google.zxing.client.android.captureactivity.jar (com.google.zxing.client.android.captureactivity.jar) and jetified-core-3.3.3.jar (com.google.zxing:core:3.3.3)
And the list goes on and finishes with :
Duplicate class com.google.zxing.qrcode.encoder.QRCode found in modules jetified-com.google.zxing.client.android.captureactivity.jar (com.google.zxing.client.android.captureactivity.jar) and jetified-core-3.3.3.jar (com.google.zxing:core:3.3.3)
Go to the documentation to learn how to Fix dependency
resolution errors.
Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it
incompatible with Gradle 7.0. Use '--warning-mode all' to show the
individual deprecation warnings. See
https://docs.gradle.org/6.5/userguide/command_line_interface.html#sec:command_line_warnings
Here is my build.gradle file :
buildscript {
ext.kotlin_version = '1.3.50'
apply from: 'repositories.gradle'
repositories repos
dependencies {
classpath 'com.android.tools.build:gradle:4.0.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
apply from: 'repositories.gradle'
repositories repos
project.ext {
defaultBuildToolsVersion="29.0.2" //String
defaultMinSdkVersion=22 //Integer - Minimum requirement is Android 5.1
defaultTargetSdkVersion=29 //Integer - We ALWAYS target the latest by default
defaultCompileSdkVersion=29 //Integer - We ALWAYS compile with the latest by default
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
I Tried :
Adding : configurations {compile.exclude group: 'com.google.zxing'} to build.gradle
removed the android platform from cordova and then adding it.
removed the barcodescanner plugin then adding it.
I have been stuck with this one for almost a week.
The problem was caused because of a conflict between facebook4 plugin and barcodeScanner plugin. Both use a library called ZXing which will cause a conflict.
The easy fix (hard to find) was to remove the facebook plugin and add the same one without the zxing library.
ionic cordova platform rm android
ionic cordova plugin rm cordova-plugin-facebook4 --save --variable APP_ID="ID" --variable APP_NAME="NAME"
ionic cordova plugin add https://github.com/AndreiTelteu/cordova-plugin-facebook4-no-zxing --save --variable APP_ID="ID" --variable APP_NAME="NAME"
ionic cordova platform add android
ionic cordova platform rm android
This fixed my problem. Note that there is nothing to edit in your code.
Check the git repo for more info: https://github.com/AndreiTelteu/cordova-plugin-facebook4-no-zxing
For me, the solution was to remove implementation files('libs/core.jar') from my build.gradle:
dependencies {
..........
implementation files('libs/core.jar') // Remove this line
implementation 'com.facebook.android:facebook-login:latest.release' // Conflicting with libs/core.jar.
..........
}
i've been working on a app for a while, and took a few days off, now i'm trying to run it and i'm getting these 7 failures... I tried to check compile history and theirs no changes. So i'm confused as to why its not working all of the sudden. This is probably a pretty easy problem to fix, but i know really nothing about android development..
FAILURE: Build completed with 7 failures.
1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
> Could not find android.arch.lifecycle:extensions:2.1.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://repo.maven.apache.org/maven2/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://jcenter.bintray.com/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://cardinalcommerceprod.jfrog.io/artifactory/android/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
Required by:
project :app > com.paypal.checkout:android-sdk:0.2.0
> Could not find android.arch.lifecycle:runtime:2.1.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://repo.maven.apache.org/maven2/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://jcenter.bintray.com/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://cardinalcommerceprod.jfrog.io/artifactory/android/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
Required by:
project :app > com.paypal.checkout:android-sdk:0.2.0
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================
2: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
> Could not find android.arch.lifecycle:extensions:2.1.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://repo.maven.apache.org/maven2/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://jcenter.bintray.com/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://cardinalcommerceprod.jfrog.io/artifactory/android/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
Required by:
project :app > com.paypal.checkout:android-sdk:0.2.0
> Could not find android.arch.lifecycle:runtime:2.1.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://repo.maven.apache.org/maven2/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://jcenter.bintray.com/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://cardinalcommerceprod.jfrog.io/artifactory/android/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
Required by:
project :app > com.paypal.checkout:android-sdk:0.2.0
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================
3: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:processDebugMainManifest'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
> Could not find android.arch.lifecycle:extensions:2.1.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://repo.maven.apache.org/maven2/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://jcenter.bintray.com/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://cardinalcommerceprod.jfrog.io/artifactory/android/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
Required by:
project :app > com.paypal.checkout:android-sdk:0.2.0
> Could not find android.arch.lifecycle:runtime:2.1.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://repo.maven.apache.org/maven2/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://jcenter.bintray.com/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://cardinalcommerceprod.jfrog.io/artifactory/android/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
Required by:
project :app > com.paypal.checkout:android-sdk:0.2.0
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================
4: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:mergeDebugAssets'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
> Could not find android.arch.lifecycle:extensions:2.1.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://repo.maven.apache.org/maven2/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://jcenter.bintray.com/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://cardinalcommerceprod.jfrog.io/artifactory/android/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
Required by:
project :app > com.paypal.checkout:android-sdk:0.2.0
> Could not find android.arch.lifecycle:runtime:2.1.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://repo.maven.apache.org/maven2/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://jcenter.bintray.com/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://cardinalcommerceprod.jfrog.io/artifactory/android/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
Required by:
project :app > com.paypal.checkout:android-sdk:0.2.0
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================
5: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:checkDebugDuplicateClasses'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
> Could not find android.arch.lifecycle:extensions:2.1.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://repo.maven.apache.org/maven2/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://jcenter.bintray.com/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://cardinalcommerceprod.jfrog.io/artifactory/android/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
Required by:
project :app > com.paypal.checkout:android-sdk:0.2.0
> Could not find android.arch.lifecycle:runtime:2.1.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://repo.maven.apache.org/maven2/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://jcenter.bintray.com/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://cardinalcommerceprod.jfrog.io/artifactory/android/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
Required by:
project :app > com.paypal.checkout:android-sdk:0.2.0
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================
6: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:desugarDebugFileDependencies'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
> Could not find android.arch.lifecycle:extensions:2.1.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://repo.maven.apache.org/maven2/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://jcenter.bintray.com/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://cardinalcommerceprod.jfrog.io/artifactory/android/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
Required by:
project :app > com.paypal.checkout:android-sdk:0.2.0
> Could not find android.arch.lifecycle:runtime:2.1.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://repo.maven.apache.org/maven2/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://jcenter.bintray.com/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://cardinalcommerceprod.jfrog.io/artifactory/android/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
Required by:
project :app > com.paypal.checkout:android-sdk:0.2.0
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================
7: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:mergeDebugNativeLibs'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
> Could not find android.arch.lifecycle:extensions:2.1.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://repo.maven.apache.org/maven2/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://jcenter.bintray.com/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
- https://cardinalcommerceprod.jfrog.io/artifactory/android/android/arch/lifecycle/extensions/2.1.0/extensions-2.1.0.pom
Required by:
project :app > com.paypal.checkout:android-sdk:0.2.0
> Could not find android.arch.lifecycle:runtime:2.1.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://repo.maven.apache.org/maven2/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://jcenter.bintray.com/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
- https://cardinalcommerceprod.jfrog.io/artifactory/android/android/arch/lifecycle/runtime/2.1.0/runtime-2.1.0.pom
Required by:
project :app > com.paypal.checkout:android-sdk:0.2.0
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/7.0.2/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 1s
build.gradle (:app)
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions'
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "###########"
minSdkVersion 23
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.6.0'
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
implementation("com.android.volley:volley:1.2.0")
implementation 'com.google.code.gson:gson:2.8.7'
implementation 'com.google.android.gms:play-services-location:18.0.0'
implementation 'com.google.android.material:material:1.5.0-alpha01'
implementation('com.paypal.checkout:android-sdk:0.2.0')
}
build.gradle (appname)
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = "1.5.21"
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
// This private repository is required to resolve the Cardinal SDK transitive dependency.
maven {
url "https://cardinalcommerceprod.jfrog.io/artifactory/android"
credentials {
// Be sure to add these non-sensitive credentials in order to retrieve dependencies from
// the private repository.
username 'paypal_sgerritz'
password 'AKCp8jQ8tAahqpT5JjZ4FRP2mW7GMoFZ674kGqHmupTesKeAY2G8NcmPKLuTxTGkKjDLRzDUQ'
}
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
File -> Invalidate Cache & Restart
You can also try to copy and paste your code to a new android studio project but if nothing's changed it's probably android studio being android studio. Maybe try not using the emulator and running the app on your phone as well.
The problem is in this line. ````Could not find android.arch.lifecycle:extensions:2.1.0.`````
As you can see it is saying that could not find Android.arch.lifecycle. The problem is with your Gradle. Try running a new empty project and if it works, the problem is with your build.gradle file. You might have written a wrong line or configured it in the wrong way.
Most of the times those errors can be fixed by cleaning and rebuilding the project. So give it a try, Go to Build>Clean project. Then go to Build > Rebuild Project. There was a case a month ago where i had to delete the jcenter() repository for the problem to be fixed. Another thing that you should probably check is a possible android studio update. Last but not least check your dependencies for an version mismatch.
I'm currently working on an ionic4 application, but recently it stopped working while building the application on an android reall device after adding https://ionicframework.com/docs/native/fcm plugin to the application.
At first it was complaining about fabric key, however I never aimed to use fabric crashlytic on my app.
The error logs:
* What went wrong:
Execution failed for task ':app:checkDebugDuplicateClasses'.
> 1 exception was raised by workers:
java.lang.RuntimeException: Duplicate class android.support.v4.app.INotificationSideChannel found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.app.INotificationSideChannel$Stub found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.app.INotificationSideChannel$Stub$Proxy found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.os.IResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.os.IResultReceiver$Stub found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.os.IResultReceiver$Stub$Proxy found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.os.ResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.os.ResultReceiver$1 found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.os.ResultReceiver$MyResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.os.ResultReceiver$MyRunnable found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Go to the documentation to learn how to Fix dependency resolution errors.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 21s
Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.4.1/userguide/command_line_interface.html#sec:command_line_warnings
35 actionable tasks: 5 executed, 30 up-to-date
cmd: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:checkDebugDuplicateClasses'.
> 1 exception was raised by workers:
java.lang.RuntimeException: Duplicate class android.support.v4.app.INotificationSideChannel found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.app.INotificationSideChannel$Stub found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.app.INotificationSideChannel$Stub$Proxy found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.os.IResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.os.IResultReceiver$Stub found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.os.IResultReceiver$Stub$Proxy found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.os.ResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.os.ResultReceiver$1 found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.os.ResultReceiver$MyResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Duplicate class android.support.v4.os.ResultReceiver$MyRunnable found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
Go to the documentation to learn how to Fix dependency resolution errors.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 21s
[ERROR] An error occurred while running subprocess cordova.
cordova run android exited with exit code 1.
Re-running this command with the --verbose flag may provide more information.
android/app/build.gradle
buildscript {
repositories {
google()
jcenter()
maven { url 'https://maven.fabric.io/public' } // Fabrics Maven repository from cordova-plugin-firebase
}
dependencies {
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.android.tools.build:gradle:3.4.0+'
classpath 'com.google.gms:google-services:4.2.0' // google-services dependency from cordova-plugin-firebase
classpath 'io.fabric.tools:gradle:1.+' // fabric dependency from cordova-plugin-firebase
}
}
allprojects {
repositories {
jcenter()
google() // Google's Maven repository from cordova-plugin-firebase
}
//This replaces project.properties w.r.t. build settings
project.ext {
defaultBuildToolsVersion="28" //String
defaultMinSdkVersion=19 //Integer - Minimum requirement is Android 4.4
defaultTargetSdkVersion=28 //Integer - We ALWAYS target the latest by default
defaultCompileSdkVersion=28 //Integer - We ALWAYS compile with the latest by default
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
cordova-plugin-firebase/raihan-build.gradle
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.0+'
classpath 'com.google.gms:google-services:4.2.0'
}
}
dependencies {
compile 'me.leolin:ShortcutBadger:1.1.4#aar'
compile 'com.google.firebase:firebase-auth:+'
compile('com.crashlytics.sdk.android:crashlytics:2.9.1#aar') {
transitive = true
}
}
cdvPluginPostBuildExtras.add({
// apply plugin: 'com.google.gms.google-services'
apply plugin: 'io.fabric'
})
cordova-plugin-fcm-with-dependecy-updated/raihan-FCMPlugin.gradle
buildscript {
repositories {
google()
jcenter()
mavenLocal()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.0+'
classpath 'com.google.gms:google-services:4.2.0'
}
}
repositories {
google()
jcenter()
}
dependencies {
compile 'com.google.firebase:firebase-core:16.0.8'
}
// apply plugin: 'com.google.gms.google-services'
// class must be used instead of id(string) to be able to apply plugin from non-root gradle file
// apply plugin: com.google.gms.googleservices.GoogleServicesPlugin
android/project.properties
target=android-27
android.library.reference.1=CordovaLib
android.library.reference.2=app
cordova.gradle.include.1=cordova-android-support-gradle-release/raihan-cordova-android-support-gradle-release.gradle
cordova.system.library.1=com.squareup.okhttp3:okhttp-urlconnection:3.10.0
cordova.system.library.2=com.android.support:support-v4:24.1.1+
cordova.system.library.3=com.soundcloud.android:android-crop:1.0.0#aar
cordova.system.library.4=com.google.firebase:firebase-core:16.0.8
cordova.system.library.4=com.google.firebase:firebase-iid:17.1.1
cordova.system.library.5=com.google.firebase:firebase-messaging:17.5.0
cordova.gradle.include.2=cordova-plugin-fcm-with-dependecy-updated/raihan-FCMPlugin.gradle
cordova.gradle.include.3=cordova-support-google-services/raihan-build.gradle
cordova.system.library.6=com.google.firebase:firebase-auth:16.2.0
cordova.system.library.6=com.google.firebase:firebase-perf:16.2.4
cordova.system.library.7=com.android.support:support-annotations:27.+
cordova.system.library.8=com.android.support:appcompat-v7:23+
cordova.system.library.8=com.google.firebase:firebase-iid:17.1.1
cordova.system.library.8=com.google.android.gms:play-services-tagmanager:16.0.8
cordova.system.library.8=com.google.firebase:firebase-config:16.4.0
cordova.gradle.include.4=cordova-plugin-telerik-imagepicker/raihan-ignorelinterrors.gradle
cordova.gradle.include.5=cordova-plugin-telerik-imagepicker/raihan-androidtarget.gradle
cordova.gradle.include.6=cordova-android-support-gradle-release/raihan-cordova-android-support-gradle-release.gradle
cordova.gradle.include.7=cordova-plugin-firebase/raihan-build.gradle
I have provided the above files, let me know if I need to upload anything else.
Go to gradle.properties(project properties)
Add
android.enableJetifier=true
And also most of time android.useAndroidX=true is present.Check your gradle.properties(Project Properties) and if it does not exist then add
android.useAndroidX=true -> Look Likes This Image
Your project (or one of its sub-projects) is referring to a dependency using a + (plus-sign) at its end, like com.google.firebase:firebase-auth:+, which means, use any higher version when possible, and that newer version is no longer using android.support libraries and instead is using androidx; to fix this issue, either follow the below steps, or, update to androidx by following the other answer.
Steps:
Ensure the ANDROID_HOME environment-variable is set, and then, open a console window (like git-bash, because it keeps the whole command output), and cd into your android directory (for Ionic projects it should be platforms/android).
First, List all dependencies by running below (in git-bash):
./gradlew :app:dependencies
Copy the result into your preferred text-editor, and search for androidx.
If you found something follow below steps, else you are done! (and you do not need to repeat these steps).
Scroll up until you see -> at the end of any line, like for example 16.0.8 -> 19.0.0 or + -> 19.0.0, which both mean that the version was auto-resolved (to something higher than specified by you because of +).
So, set the version down manually:
When possible, in your project find and replace the + sign with a specific version.
Or, force a specific version of the dependencies like mentioned below.
At last, repeat above steps (but instead of step one just clear the console).
To Force specific version of the dependencies add to your root build.gradle something like below (which is what worked for me) but edit and add your own rules (if these do not work for you):
allprojects {
// ...
configurations.all {
resolutionStrategy {
force 'com.google.firebase:firebase-common:17.0.0'
force 'com.google.android.gms:play-services-basement:16.2.0'
force 'com.google.firebase:firebase-iid:16.0.0'
force 'com.google.firebase:firebase-auth:17.0.0'
}
}
}
Simply add below lines into your gradle.properties file:
android.useAndroidX=true
android.enableJetifier=true
Note to check, to not repeat any line that already exists (and ensure existing are true).
Finally, just rebuild your project.
But sometimes you may need to manually delete the build folder.
Details
If you want to use androidx-namespaced libraries in a new project, you need to set the compile SDK to Android 9.0 (API level 28) or higher but below "API level 31", and set both of the mentioned Android Gradle plugin flags to true.
android.useAndroidX: When this flag is set to true, the Android plugin uses the appropriate AndroidX library instead of a Support Library. The flag is false by default if it is not specified.
android.enableJetifier: When this flag is set to true, the Android plugin automatically migrates existing third-party libraries to use AndroidX dependencies by rewriting their binaries. The flag is false by default if it is not specified.
I came across the same problem and My solution is as follows :
Go to gradle.properties files
Add these two lines :
android.useAndroidX=true
android.enableJetifier=true
Rebuild your project.
that's it.
Note: If your project already shows this android.useAndroidX=true then Just add android.enableJetifier=true and rebuild your project.
For me, just installing the plugins "cordova-plugin-androidx" and "cordova-plugin-androidx-adapter" solved this problem:
$ ionic cordova plugin add cordova-plugin-androidx
$ ionic cordova plugin add cordova-plugin-androidx-adapter
I had this issue when I migrated to Androidx using the Android Studio feature but at the first time the migration was not successful so each time I tried to compile I ran into this issue.
To resolve this issue, I did the following:
[1] Comment all androidx dependencies in the app bundle.gradle file
[2] Try the Migrate to Androidx. You can see this link in Refactor -> Migrate to Androidx. If the migration was successful, then
[3] Uncomment all androidx dependencies in the app bundle.gradle file
You may clean and build your project again, hopefully this error should disappear.
In my case, I removed this implementation under dependencies section in app level build.gradle file -
implementation 'com.google.android.gms:play-services-ads:19.2.0'
Remove or comment it out!!
I think you kept same tag multiple time in gradle.properties like following
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.jvmargs=-Xmx4608m
In my Ionic project I needed to remove the line
cordova.system.library.19=com.google.android.gms:play-services-analytics:11.0.1
from my /platforms/android/project.properties to get a build
Experienced the same problem.
add this dependency to your gradle
implementation 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava'
In my case, i was creating a separate module and importing firebaseAnalytics into that module but it turns out that adding dependency on main module from IDE help caused the issue of duplicate class found.
i removed the dependency and injected it directly, that solved the problem.
hope that helps.
I had the same problem but I solved it as below.
implemetation code in build.gradle
def lifecycle_version = "2.4.0"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
Confirmed in this article
The issue I was facing was in the react-native something similar to
Execution failed for task ':app:checkDebugDuplicateClasses'.
1 exception was raised by workers:
java.lang.RuntimeException: java.lang.RuntimeException: Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.0.jar (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk8-1.6.21.jar (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21)
Duplicate class kotlin.internal.jdk7.JDK7PlatformImplementations found in modules jetified-kotlin-stdlib-1.8.0.jar (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk7-1.6.21.jar (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21)
It means that there is a conflict between two different versions of the Kotlin standard library, specifically the "jetified-kotlin-stdlib-1.8.0.jar" and "jetified-kotlin-stdlib-jdk8-1.6.21.jar" versions. The error message specifically states that there is a duplicate class "kotlin.collections.jdk8.CollectionsJDK8Kt" found in both versions.
and the solution was here
there were two approaches but i found this one easier go to android/app/build.gradle and update the dependencies
dependencies {
constraints {
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") {
because("kotlin-stdlib-jdk7 is now a part of kotlin-stdlib")
}
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0") {
because("kotlin-stdlib-jdk8 is now a part of kotlin-stdlib")
}
}
I had the same problem but i solved it as below.
Open Android studio>
File > Invalidate Caches/Restart…
I have recently updated my Android studio to 3.4.1. I am planning to integrate Geofencing Application. So I have downloaded the Map Application from the Google sample git repository and import it to new Android studio. But I am getting the below error continuously while building the application.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:checkDebugDuplicateClasses'.
> 1 exception was raised by workers:
java.lang.RuntimeException: Duplicate class android.support.v4.app.INotificationSideChannel found in modules classes.jar (androidx.core:core:1.0.1) and classes.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.app.INotificationSideChannel$Stub found in modules classes.jar (androidx.core:core:1.0.1) and classes.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.app.INotificationSideChannel$Stub$Proxy found in modules classes.jar (androidx.core:core:1.0.1) and classes.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.os.IResultReceiver found in modules classes.jar (androidx.core:core:1.0.1) and classes.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.os.IResultReceiver$Stub found in modules classes.jar (androidx.core:core:1.0.1) and classes.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.os.IResultReceiver$Stub$Proxy found in modules classes.jar (androidx.core:core:1.0.1) and classes.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.os.ResultReceiver found in modules classes.jar (androidx.core:core:1.0.1) and classes.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.os.ResultReceiver$1 found in modules classes.jar (androidx.core:core:1.0.1) and classes.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.os.ResultReceiver$MyResultReceiver found in modules classes.jar (androidx.core:core:1.0.1) and classes.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.os.ResultReceiver$MyRunnable found in modules classes.jar (androidx.core:core:1.0.1) and classes.jar (com.android.support:support-compat:26.1.0)
Go to the documentation to learn how to Fix dependency resolution errors.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.1.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 18s
16 actionable tasks: 12 executed, 4 up-to-date