-
Notifications
You must be signed in to change notification settings - Fork 167
Runtime error: couldn't find DSO to load: libspectrumpluginjpeg.so #43
Comments
Hi @fgustovo, The error message indicates that the delivered APK(s) do not include the mentioned so files or that the SoLoader cannot find it. Let's work through the following steps:
There are similar issues regarding app bundles and the SoLoader that we are using. If the aforementioned steps show the right output (i.e. the .so files are indeed present for the right architectures), then let's dig deeper on that front. |
Hi I am using this filter
and
Please help asap. I am stuck |
Hi @mukkumukesh I start to suspecting that the SoLoader library that Spectrum is using does not properly load .so files in combination with app bundles. I am working on allowing to use the System SoLoader instead with the hope that it can help in these situations. Until then, can you check that the .so file is actually included in the bundle files as you would expect it? You can follow the instructions described in https://developer.android.com/studio/command-line/bundletool to generate the final APK. Then use |
I checked all apks generated by When i tried with emulator I hope the information helps you @lambdapioneer |
@fgustovo, the Huwaei mate 10 has a 64-bit CPU. Can you try again after adding |
@lambdapioneer I tried two different release bundles, one doesn't include any abifilters and other one contains abiFilters 'armeabi-v7a', 'x86'. Both make crash. |
I've landed a change that will allow to use the system's soloader instead of the Facebook one: 233ed53 This will available as soon as we ship the next release v1.1. We anticipate that this happens next week. If you are curious to build locally in the mean time and test this change, then that would be super helpful. In both cases, the initialization in the application class should be updated to the following: Kotlin:
Java:
|
The release artefacts are now pushed. @fgustovo if you like you can upgrade to v1.1.0 and check whether the |
It is not fixed |
@khemrajiitk, do you have a local repo? We haven't succeeded to reproduce this locally and we are running out of ideas. Can you provide the following information? Same applies for the others if the issue persists. If the issue is fixed by using the
|
@lambdapioneer It will not work when I use
my build.gradle file
|
Using Kotlin:
Generated Java code:
In the generated Java code the
If anyone knows a way to disable the Kotlin typecasting 'feature', please let me know :). For now I'll just use an old fashioned Java class to initialize the SpectrumSoLoader. Perhaps the interface could be made public? |
@iMvBremen, thanks a lot for the reply and I'm glad that the Regarding the Kotlin type-cast: that's interesting. If you like, you can send a PR for making the interface public :) otherwise, I'll try to get to it. |
Summary: As from discussion in #43 This PR fixes issue when Kotlin generated code adds typecast to `SoLoaderWrapper` and this causes `IllegalAccessError` at run time as classes can't access package private `SoLoaderWrapper` interface. **Kotlin:** ``` SpectrumSoLoader.init(context, SpectrumSoLoader.SystemSoLoaderImpl()) ``` **Generated:** ``` SpectrumSoLoader.init((Context)context, (SoLoaderWrapper)(new SystemSoLoaderImpl())); ``` **Run-time error:** ``` java.lang.IllegalAccessError: Illegal class access: 'com.example.SpectrumLoader' attempting to access 'com.facebook.spectrum.SpectrumSoLoader$SoLoaderWrapper' (declaration of 'com.example.SpectrumLoader' appears in /data/app/com.example.dev-ZTjIGlrpJnf4A8NSyFKk4g==/split_lib_slice_2_apk.apk) ``` Pull Request resolved: #177 Reviewed By: diegosanchezr Differential Revision: D16262267 Pulled By: cuva fbshipit-source-id: 0b34f5c4446b36e7d63e5043f98bbe4ad6d8e972
I updated my application on the play store with
app bundle
. And then I saw lots of crash on crashlytics.Dependency:
The crash came from different device models and Android versions. What is wrong with lib?
The text was updated successfully, but these errors were encountered: