LogmeinRescue / Android-SDK

Rescue In-App Support Android SDK
http://secure.logmeinrescue.com/welcome/webhelp/EN/SDKa/MobileSDK/c_rasdk_overview.html
Other
5 stars 6 forks source link

Rescue SDK - Crash on Target version 30 and above #56

Closed Ritheeshk36 closed 1 year ago

Ritheeshk36 commented 2 years ago

We have integrated the latest SDK 3.8.0 but the app is crashing on invoking. Please find the logs for your reference. Also kindly shared the latest integration document.

2022-06-13 15:54:11.522 30285-32325/com.sample.dev E/AndroidRuntime: FATAL EXCEPTION: pool-15-thread-1 Process: com.sample.dev, PID: 30285 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/logmein/rescuesdk/internal/ef; at com.logmein.rescuesdk.internal.ext.ConnectedDeviceInfoModule.configure(SourceFile:36) at com.google.inject.AbstractModule.configure(AbstractModule.java:62) at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340) at com.google.inject.AbstractModule.install(AbstractModule.java:122) at com.logmein.rescuesdk.internal.ext.ExtensionLoaderModule.installRequiredExtensionModules(ExtensionLoaderModule.java:52) at com.logmein.rescuesdk.internal.ext.ExtensionLoaderModule.configure(ExtensionLoaderModule.java:32) at com.google.inject.AbstractModule.configure(AbstractModule.java:62) at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340) at com.google.inject.util.Modules$CombinedModule.configure(Modules.java:128) at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340) at com.google.inject.spi.Elements.getElements(Elements.java:110) at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104) at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:232) at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:236) at com.logmein.rescuesdk.internal.session.InternalSessionFactoryImpl.create(InternalSessionFactoryImpl.java:28) at com.logmein.rescuesdk.internal.session.BareSession$1.run(BareSession.java:108) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:923) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.logmein.rescuesdk.internal.ef" on path: DexPathList[[zip file "/data/app/aumnf8hliPklzsIhGOSygA==/com.sample.dev-ZEjl-aO4pflZGFdrZ8zZAQ==/base.apk"],nativeLibraryDirectories=[/data/app/aumnf8hliPklzsIhGOSygA==/com.sample.dev-ZEjl-aO4pflZGFdrZ8zZAQ==/lib/arm64, /data/app/~~aumnf8hliPklzsIhGOSygA==/com.sample.dev-ZEjl-aO4pflZGFdrZ8zZAQ==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at com.logmein.rescuesdk.internal.ext.ConnectedDeviceInfoModule.configure(SourceFile:36) at com.google.inject.AbstractModule.configure(AbstractModule.java:62) at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340) at com.google.inject.AbstractModule.install(AbstractModule.java:122) at com.logmein.rescuesdk.internal.ext.ExtensionLoaderModule.installRequiredExtensionModules(ExtensionLoaderModule.java:52) at com.logmein.rescuesdk.internal.ext.ExtensionLoaderModule.configure(ExtensionLoaderModule.java:32) at com.google.inject.AbstractModule.configure(AbstractModule.java:62) at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340) at com.google.inject.util.Modules$CombinedModule.configure(Modules.java:128) at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340) at com.google.inject.spi.Elements.getElements(Elements.java:110) at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104) at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:232) at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:236) at com.logmein.rescuesdk.internal.session.InternalSessionFactoryImpl.create(InternalSessionFactoryImpl.java:28) at com.logmein.rescuesdk.internal.session.BareSession$1.run(BareSession.java:108) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:923)

tamasgyongyosi commented 2 years ago

Hi @Ritheeshk36 ,

Thanks for bringing this to our attention. However we are unable to reproduce this crash. Please provide more info about how you integrate the Rescue SDK. What SDK modules do you use? When this exceptions occurs? Maybe some build info also important (Android Gradle Plugin, Gradle Wrapper version)

This is the latest integration guide: https://logmeinrescue.github.io/Android-SDK/

Tamás

Ritheeshk36 commented 2 years ago

Please find the sdk implementation and crash details below,

Repository URL: 'https://raw.githubusercontent.com/logmeinrescue/android-sdk/master/maven/repository' Gradle Wrapper version :distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip Gradle Plugin :classpath 'com.android.tools.build:gradle:4.2.2'

Dependencies: implementation('com.logmein.rescuesdk:resources:3.6.0@aar') { transitive = false } implementation('com.logmein.rescuesdk:core:3.6.0@aar') { transitive = true } implementation('com.logmein.rescuesdk:devicescreenstreaming:3.6.0@aar') { transitive = false } implementation('com.logmein.rescuesdk:appscreenstreaming:3.6.0@aar') { transitive = true } //TODO remove implementation("com.logmein.rescuesdk:deviceinfo:3.5.0@aar") { transitive = false }

compileOptions sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 compileSdkVersion 31 minSdkVersion 21 targetSdkVersion 31

The sdk crashes once the technician connects to the client.

tamasgyongyosi commented 2 years ago

@Ritheeshk36 could you please try it with Rescue SDK version 3.8.0 ?

changes are: implementation('com.logmein.rescuesdk:resources:3.8.0@aar') { transitive = false } implementation('com.logmein.rescuesdk:core:3.8.0@aar') { transitive = true } implementation('com.logmein.rescuesdk:devicescreenstreaming:3.8.0@aar') { transitive = true} implementation('com.logmein.rescuesdk:appscreenstreaming:3.8.0@aar') { transitive = true } //TODO remove implementation("com.logmein.rescuesdk:deviceinfo:3.8.0@aar") { transitive = true}

Ritheesh36 commented 2 years ago

Thanks tamas,

it's working after changing this.