Skip to content
This repository has been archived by the owner on Feb 19, 2020. It is now read-only.

Program type already present : net.hockeyapp.android.CrashManager$1 #414

Closed
codeByAvi opened this issue Mar 29, 2019 · 15 comments
Closed

Program type already present : net.hockeyapp.android.CrashManager$1 #414

codeByAvi opened this issue Mar 29, 2019 · 15 comments

Comments

@codeByAvi
Copy link

codeByAvi commented Mar 29, 2019

Getting

com.android.build.api.transform.TransformException: Error while generating the main dex list.

caused by com.android.builder.multidex.D8MainDexList$MainDexListException: com.android.tools.r8.errors.CompilationError: Program type already present
: net.hockeyapp.android.CrashManager$1

caused by: com.android.tools.r8.errors.CompilationError: Program type already present: net.hockeyapp.android.CrashManager$1
at com.android.tools.r8.utils.ProgramClassCollection.resolveClassConflictImpl(ProgramClassCollection.java:64)
at com.android.tools.r8.utils.ProgramClassCollection.lambda$create$0(ProgramClassCollection.java:25)
at com.android.tools.r8.utils.ProgramClassCollection.create(ProgramClassCollection.java:24)
at com.android.tools.r8.graph.LazyLoadedDexApplication$Builder.build(LazyLoadedDexApplication.java:124)
at com.android.tools.r8.dex.ApplicationReader.read(ApplicationReader.java:123)
at com.android.tools.r8.dex.ApplicationReader.read(ApplicationReader.java:86)
at com.android.tools.r8.GenerateMainDexList.run(GenerateMainDexList.java:40)
at com.android.tools.r8.GenerateMainDexList.run(GenerateMainDexList.java:110)
at com.android.builder.multidex.D8MainDexList.generate(D8MainDexList.java:83)

Gradle details:

Gradle version 3.2.1
distributionUrl=https://services.gradle.org/distributions/gradle-4.6-all.zip
debugCompile files('debug-libs/HockeySDK-3.5.0.jar')

getting following error if
used implementation 'net.hockeyapp.android:HockeySDK:5.1.1'

Caused by: com.android.tools.r8.errors.CompilationError: Program type already present: net.hockeyapp.android.adapters.MessagesAdapter
at com.android.tools.r8.utils.ProgramClassCollection.resolveClassConflictImpl(ProgramClassCollection.java:64)
at com.android.tools.r8.utils.ProgramClassCollection.lambda$create$0(ProgramClassCollection.java:25)
at com.android.tools.r8.utils.ProgramClassCollection.create(ProgramClassCollection.java:24)
at com.android.tools.r8.graph.LazyLoadedDexApplication$Builder.build(LazyLoadedDexApplication.java:124)
at com.android.tools.r8.dex.ApplicationReader.read(ApplicationReader.java:123)
at com.android.tools.r8.dex.ApplicationReader.read(ApplicationReader.java:86)
at com.android.tools.r8.GenerateMainDexList.run(GenerateMainDexList.java:40)

@dtrabo
Copy link

dtrabo commented Mar 29, 2019

Hi, @avi2108. Thanks for reporting!
Could you, please, send a dependencies tree of your project? For building a dependencies tree you have to open Gradle build menu then choose your_project - your_project - Tasks - android - androidDependencies .

@codeByAvi
Copy link
Author

codeByAvi commented Mar 30, 2019

hi @dtrabo

Please find the dependencies.
this is the dependencies tree for betaDebug build :

WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
:betdroid-lib:androidDependencies

betaDebug
betaDebugCompileClasspath - Dependencies for compilation
+--- :betdroid-lib (variant: debug)
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\basic-http-client-android-0.88.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\eventbus-2.4.0.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\gson-2.3.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\HockeySDK-3.5.0.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\java-websocket-1.2.1.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\nineoldandroids-2.4.0.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\otherlevels-android-sdk.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\pass-v1.2.1.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\playermetrics-android-sdk-1.0.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\sdk-v1.0.0.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\signalr-client-sdk-android.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\signalr-client-sdk.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\universal-image-loader-1.9.2.jar
+--- com.android.support:multidex:1.0.2@aar
+--- com.appdynamics:appdynamics-runtime:4.2.0.0@jar
+--- com.crashlytics.sdk.android:crashlytics:2.8.0@aar
+--- de.idnow.sdk:idnow-android-3.2.0:@aar
+--- org.slf4j:slf4j-android:1.7.12@jar
+--- com.squareup.retrofit:retrofit:1.9.0@jar
+--- com.squareup.okhttp3:okhttp-ws:3.4.1@jar
+--- com.squareup.okhttp3:okhttp:3.4.1@jar
+--- com.appsflyer:af-android-sdk:4.8.4@aar
+--- :lib-sliding-menu (variant: debug)
+--- com.android.support:recyclerview-v7:23.1.1@aar
+--- com.android.support:gridlayout-v7:23.1.1@aar
+--- com.android.support:percent:23.1.1@aar
+--- :lib-doc-upload (variant: debug)
+--- :slidergamelib (variant: debug)
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\slidergamelib\libs\jackson-core-2.0.6.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\slidergamelib\libs\rebound-0.3.6.jar
+--- com.android.support:appcompat-v7:23.1.1@aar
+--- com.google.android.gms:play-services-analytics:9.2.0@aar
+--- com.google.android.gms:play-services-analytics-impl:9.2.0@aar
+--- com.google.android.gms:play-services-base:9.2.0@aar
+--- com.google.firebase:firebase-messaging:9.2.0@aar
+--- com.google.firebase:firebase-core:9.2.0@aar
+--- com.google.firebase:firebase-analytics:9.2.0@aar
+--- com.google.firebase:firebase-analytics-impl:9.2.0@aar
+--- com.google.firebase:firebase-iid:9.2.0@aar
+--- com.google.firebase:firebase-common:9.2.0@aar
+--- com.google.android.gms:play-services-tasks:9.2.0@aar
+--- com.google.android.gms:play-services-basement:9.2.0@aar
+--- com.android.support:support-v4:23.1.1@aar
+--- com.github.nkzawa:socket.io-client:0.6.0@jar
+--- com.github.nkzawa:engine.io-client:0.6.0@jar
+--- com.squareup.okhttp:okhttp-ws:2.4.0@jar
+--- com.squareup.okhttp:okhttp:2.4.0@jar
+--- org.parceler:parceler-api:0.2.15@jar
+--- com.crashlytics.sdk.android:crashlytics-core:2.5.0@aar
+--- com.crashlytics.sdk.android:beta:1.2.7@aar
+--- com.crashlytics.sdk.android:answers:1.4.1@aar
+--- io.fabric.sdk.android:fabric:1.4.1@aar
+--- org.slf4j:slf4j-api:1.7.12@jar
+--- com.squareup.okio:okio:1.9.0@jar
--- com.android.support:support-annotations:23.1.1@jar

betaDebugRuntimeClasspath - Dependencies for runtime/packaging
+--- :betdroid-lib (variant: debug)
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\basic-http-client-android-0.88.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\eventbus-2.4.0.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\gson-2.3.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\HockeySDK-3.5.0.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\java-websocket-1.2.1.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\nineoldandroids-2.4.0.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\otherlevels-android-sdk.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\pass-v1.2.1.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\playermetrics-android-sdk-1.0.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\sdk-v1.0.0.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\signalr-client-sdk-android.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\signalr-client-sdk.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\universal-image-loader-1.9.2.jar
+--- com.android.support:multidex:1.0.2@aar
+--- com.appdynamics:appdynamics-runtime:4.2.0.0@jar
+--- com.crashlytics.sdk.android:crashlytics:2.8.0@aar
+--- de.idnow.sdk:idnow-android-3.2.0:@aar
+--- org.slf4j:slf4j-android:1.7.12@jar
+--- com.squareup.retrofit:retrofit:1.9.0@jar
+--- com.squareup.okhttp3:okhttp-ws:3.4.1@jar
+--- com.squareup.okhttp3:okhttp:3.4.1@jar
+--- com.appsflyer:af-android-sdk:4.8.4@aar
+--- :lib-sliding-menu (variant: debug)
+--- com.android.support:recyclerview-v7:23.1.1@aar
+--- com.android.support:gridlayout-v7:23.1.1@aar
+--- com.android.support:percent:23.1.1@aar
+--- :lib-doc-upload (variant: debug)
+--- :slidergamelib (variant: debug)
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\slidergamelib\libs\jackson-core-2.0.6.jar
+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\slidergamelib\libs\rebound-0.3.6.jar
+--- com.android.support:appcompat-v7:23.1.1@aar
+--- com.google.android.gms:play-services-analytics:9.2.0@aar
+--- com.google.android.gms:play-services-analytics-impl:9.2.0@aar
+--- com.google.android.gms:play-services-base:9.2.0@aar
+--- com.google.firebase:firebase-messaging:9.2.0@aar
+--- com.google.firebase:firebase-core:9.2.0@aar
+--- com.google.firebase:firebase-analytics:9.2.0@aar
+--- com.google.firebase:firebase-analytics-impl:9.2.0@aar
+--- com.google.firebase:firebase-iid:9.2.0@aar
+--- com.google.firebase:firebase-common:9.2.0@aar
+--- com.google.android.gms:play-services-tasks:9.2.0@aar
+--- com.google.android.gms:play-services-basement:9.2.0@aar
+--- com.android.support:support-v4:23.1.1@aar
+--- com.github.nkzawa:socket.io-client:0.6.0@jar
+--- com.github.nkzawa:engine.io-client:0.6.0@jar
+--- com.squareup.okhttp:okhttp-ws:2.4.0@jar
+--- com.squareup.okhttp:okhttp:2.4.0@jar
+--- org.parceler:parceler-api:0.2.15@jar
+--- net.hockeyapp.android:HockeySDK:5.1.1@aar
+--- com.crashlytics.sdk.android:crashlytics-core:2.5.0@aar
+--- com.crashlytics.sdk.android:beta:1.2.7@aar
+--- com.crashlytics.sdk.android:answers:1.4.1@aar
+--- io.fabric.sdk.android:fabric:1.4.1@aar
+--- org.slf4j:slf4j-api:1.7.12@jar
+--- com.squareup.okio:okio:1.9.0@jar
--- com.android.support:support-annotations:23.1.1@jar

@codeByAvi
Copy link
Author

@dtrabo ??

@MatkovIvan
Copy link
Contributor

Hi @avi2108,

It looks like you are using the library twice:

C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\HockeySDK-3.5.0.jar
and
net.hockeyapp.android:HockeySDK:5.1.1@aar

Please remove including old version from your gradle file:
debugCompile files('debug-libs/HockeySDK-3.5.0.jar')

Thanks,
Ivan

@MatkovIvan
Copy link
Contributor

I guess it's solved, so I'm closing this issue. Please reopen/comment if you have more questions or run into this again.

@codeByAvi
Copy link
Author

codeByAvi commented Apr 8, 2019

Hi am using either of them only.
Still am getting same dex error of
Program type already present: net.hockeyapp.android.adapters.MessagesAdapter

Could you please provide me any solution regarding this? @MatkovIvan @dtrabo
If i remove hockey gradle dependency then things are fine but thats not the solution.

@MatkovIvan MatkovIvan reopened this Apr 8, 2019
@MatkovIvan
Copy link
Contributor

Hi @avi2108,

The problem is you include the HockeyApp SDK in your gradle twice. Please leave only one version of the library.

@codeByAvi
Copy link
Author

@MatkovIvan I am using either 3.5.0.jar or 5.1.1 .
In dependency tree it listed all used once. but i commented one of the versions in my gradle.

@MatkovIvan
Copy link
Contributor

I see both versions in the tree that you shared above:

+--- C:\Users\achitturi\AndroidStudioProjects\original_native_sports\betdroid-lib\libs\HockeySDK-3.5.0.jar
...
+--- net.hockeyapp.android:HockeySDK:5.1.1@aar

@MatkovIvan
Copy link
Contributor

You probably don't need the old version of a lib, so you can just remove the file libs\HockeySDK-3.5.0.jar.

@codeByAvi
Copy link
Author

@MatkovIvan am using only v5.1.1 . still am getting same dex error bro.
After trying this i raised the issue actually.

@MatkovIvan
Copy link
Contributor

Well, the problem definitely is the SDK is used twice somehow. From messages above, I see that the SDK v3.5.0 is used from the file too.

I can try to find and fix the issue in your gradle configuration if you share it.

@codeByAvi
Copy link
Author

shall i share dependency tree again?

@codeByAvi
Copy link
Author

@MatkovIvan what can i provide for ur further valuable investigation?

@codeByAvi
Copy link
Author

resolved by exlcuding these things

compile ('net.hockeyapp.android:HockeySDK:5.1.1@aar'){
exclude group: 'com.android.support', module: 'appcompat-v7'
exclude group: 'com.android.support', module: 'recyclerview-v7'
exclude group: 'com.android.support', module: 'design'
exclude group: 'com.android.support', module: 'support-v4'
exclude group: 'com.google.code.gson', module: 'gson'
exclude module: 'guava'
}

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants