We've received a crash in crashlytics with UnsatisfiedLinkError
crash:
Fatal Exception: java.lang.UnsatisfiedLinkError
No implementation found for com.exampleie.encryption.model.NativeIdentityState net.globalie.encryption.EncryptionManager.nativeGenerateIdentityState() (tried Java_net_exampleie_encryption_EncryptionManager_nativeGenerateIdentityState and Java_net_exampleie_encryption_EncryptionManager_nativeGenerateIdentityState__)
Now, this would normally point to bad config of the native lib or something along those lines...except that the package name for both the app and the (private) native lib is net.exampleid
and that's what's installed on 99% of devices. So, for some reason, on some devices it's installed as net.exampleie
instead of net.exampleid
, which causes the native function names that are searched for wrong, as Java_net_exampleie_...
is expected instead of Java_net_exampleid_...
, which is correct and what's it actually defined as.
The assumption of the problem is therefore that the app is installed with the wrong packageName. So, what I'm looking for is a reason why or how could this happen?