ResearchStack / ResearchStack

An SDK for building research study apps on Android.
http://researchstack.org
Apache License 2.0
150 stars 81 forks source link

This library does not support 64bit #527

Open jonfabris opened 4 years ago

jonfabris commented 4 years ago

The library uses an old version of sqlcipher which is not compatible with 64bit. Any plans to fix this?

InnoLuke commented 3 years ago

I also encountered this issue when uploading my app to the Google Play Console, and was met with the error:

This release is not compliant with the Google Play 64-bit requirement.
The following APKs or app bundles are available to 64-bit devices, but they only have 32-bit native code:

After much digging, I realised the issue was ResearchStack transitively introducing a dependency on an old version of sqlcipher. I don't need sqlcipher in my project (I only use ResearchStack for the questionnaire UI), so I solved the problem by removing the sqlcipher dependency, like so:

implementation('org.researchstack:backbone:1.1.2') {
        // Zenetic sqlcipher is unused, and introduces incompatible 32-bit native code
        exclude group: 'net.zetetic'
    }

If you are using an encrypted database via ResearchStack, this option may unfortunately not be available to you.

davidpatrickcoleman commented 3 years ago

If you do need sqlcipher, you could add the following override to your build gradle file to get the 64-bit version:

implementation 'net.zetetic:android-database-sqlcipher:4.2.0'

Sent with ProtonMail Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Friday, 8 January 2021 14:26, InnoLuke notifications@github.com wrote:

I also encountered this issue when uploading my app to the Google Play Console, and was met with the error:

This release is not compliant with the Google Play 64-bit requirement. The following APKs or app bundles are available to 64-bit devices, but they only have 32-bit native code:

After much digging, I realised the issue was ResearchStack transitively introducing a dependency on an old version of sqlcipher. I don't need sqlcipher in my project (I only use ResearchStack for the questionnaire UI), so I solved the problem by removing the sqlcipher dependency, like so:get get

implementation('org.researchstack:backbone:1.1.2') { // Zenetic sqlcipher is unused, and introduces incompatible 32-bit native code exclude group: 'net.zetetic' }

If you are using an encrypted database via ResearchStack, this option may unfortunately not be available to you.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.