Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error on couldn't find "libtslocationmanager.so #1372

Open
lathamios opened this issue Oct 29, 2024 · 2 comments
Open

Error on couldn't find "libtslocationmanager.so #1372

lathamios opened this issue Oct 29, 2024 · 2 comments

Comments

@lathamios
Copy link

Your Environment

  • Plugin version: 4.15.5
  • Platform: Android
  • OS version: Getting errors for Android 11 and Android 8.1
  • Device manufacturer / model: Nexus 5X
  • Flutter info (flutter doctor):
[✓] Flutter (Channel stable, 3.24.3, on macOS 15.0.1 24A348 darwin-x64, locale en-GB)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.2)
[✓] Connected device (3 available)
[✓] Network resources

I am getting reports of te following error in Firebase on the release version of my app:

         Fatal Exception: java.lang.UnsatisfiedLinkError: dlopen failed: library "libtslocationmanager.so" not found
       at java.lang.Runtime.loadLibrary0(Runtime.java:1087)
       at java.lang.Runtime.loadLibrary0(Runtime.java:1008)
       at java.lang.System.loadLibrary(System.java:1664)
       at com.transistorsoft.locationmanager.settings.Settings.<clinit>(Settings.java:2)
       at com.transistorsoft.locationmanager.settings.Settings.load(Settings.java)
       at com.transistorsoft.locationmanager.adapter.TSConfig.<init>(TSConfig.java:65)
       at com.transistorsoft.locationmanager.adapter.TSConfig.a(TSConfig.java:2)
       at com.transistorsoft.locationmanager.adapter.TSConfig.getInstance(TSConfig.java:14)
       at com.transistorsoft.locationmanager.BootReceiver.b(BootReceiver.java:4)
       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)

This is what my config looks like in my build.gradle file:

           defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.petbnb.app"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        multiDexEnabled true
        ndk { abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86_64', 'x86'}

    }
    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
            storePassword keystoreProperties['storePassword']
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
            shrinkResources false
            proguardFiles "${background_geolocation.projectDir}/proguard-rules.pro"
            ndk {
                abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86_64'
            }
        }
    }

Could it be to do with the slightly different abiFilters (in the default config vs BuildTypes ->release)?

@christocracy
Copy link
Member

Device manufacturer / model: Nexus 5X

From my experience, Nexus 5X is a virtual device that Play Store uses to run your app for testing, so this might require x86 in your release abiFilters.

@lathamios
Copy link
Author

Thanks for your quick response!

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

No branches or pull requests

2 participants