# SQLCipher issue with libstlport\_shared.so

**URL:** <https://discuss.zetetic.net/t/sqlcipher-issue-with-libstlport-shared-so/2349>\
**Category:** SQLCipher\
**Created:** [September 11, 2017, 9:37pm UTC](https://discuss.zetetic.net/t/sqlcipher-issue-with-libstlport-shared-so/2349 "2017-09-11T21:37:41Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alemiser](https://avatars.discourse-cdn.com/v4/letter/a/aca169/32.png) [@Alemiser](https://discuss.zetetic.net/u/Alemiser)\
**Post date:** [September 11, 2017, 9:37pm UTC](https://discuss.zetetic.net/t/sqlcipher-issue-with-libstlport-shared-so/2349/1 "2017-09-11T21:37:41Z")

</div>

Hi everyone, trying to use sqlcipher with my own application that also uses bunch of JNI C++ modules.

If I try to include sqlcipher 3.4:  
compile ‘net.zetetic:android-database-sqlcipher:3.4.0@aar’  
I would get a compile time error  
Error:Execution failed for task ‘:TCSConnect:transformNativeLibsWithMergeJniLibsForVerizonDebug’.

> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK lib/armeabi-v7a/libstlport\_shared.so  
> File1: /Users/al.android/build-cache/df6cf1dbd76e317ff07900b78cc9d4d0292eeca9/output/jni  
> File2: /Users/al/github/LocationAgent-Android/locationtoolkit/build/intermediates/bundles/default/jni

Looks like 3.4 includes libstlport\_shared.so already.

If I were to include 3.5.7 I would get run time error while loading my own libstlport\_shared.so

```
    System.loadLibrary("stlport_shared");

```

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/com.tcs.flaprice.hybrid.ui.android-1/base.apk”],nativeLibraryDirectories=[/data/app/com.tcs.flaprice.hybrid.ui.android-1/lib/arm64, /data/app/com.tcs.flaprice.hybrid.ui.android-1/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]] couldn’t find “libstlport\_shared.so”  
at java.lang.Runtime.loadLibrary0(Runtime.java:972)  
at java.lang.System.loadLibrary(System.java:1567)

Any ideas on how to get out of this .so (dll) hell?

---

<div class="post-metadata">

**Author:** ![Alemiser](https://avatars.discourse-cdn.com/v4/letter/a/aca169/32.png) [@Alemiser](https://discuss.zetetic.net/u/Alemiser)\
**Post date:** [September 11, 2017, 10:37pm UTC](https://discuss.zetetic.net/t/sqlcipher-issue-with-libstlport-shared-so/2349/2 "2017-09-11T22:37:15Z")

</div>

I’m going to answer my own question here since I have found a workaround.  
Since I only have 32 bit .so native library, I want to eliminate 64 bit libraries from being used.  
Adding filter to build script solved my issue.

android {  
…  
defaultConfig {  
…  
ndk {  
abiFilters “armeabi-v7a”  
}  
}  
}

---

<div class="post-metadata">

**Author:** ![developernotes](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.zetetic.net/developernotes/32/1309_2.png) [@developernotes](https://discuss.zetetic.net/u/developernotes)\
**Post date:** [September 12, 2017, 1:36pm UTC](https://discuss.zetetic.net/t/sqlcipher-issue-with-libstlport-shared-so/2349/3 "2017-09-12T13:36:24Z")

</div>

Hello @Alemiser

We are happy to hear you were able to resolve your issue. In the [newer](https://github.com/sqlcipher/android-database-sqlcipher/blob/master/jni/Application32.mk) [version](https://github.com/sqlcipher/android-database-sqlcipher/blob/master/jni/Application64.mk) of SQLCipher for Android we include the static version of stlport when linking the library.
