blinkcard / blinkcard-android

SDK for scanning and OCR of credit or payment cards. Contains native Android SDK, code samples and documentation.
45 stars 5 forks source link

All modules with native libraries must support the same set of ABIs. #19

Closed marlonl3001 closed 2 years ago

marlonl3001 commented 3 years ago

Description

I´m trying to implement the sdk inside an on-demand dynamic feature. Maven and implementation statements are written in the module's build.gradle, like the image below:

build gradle

When I try to compile the app, I got the following error:

manifest_error
All modules with native libraries must support the same set of ABIs, but module 'base' supports '[ARM64_V8A, ARMEABI_V7A, ARMEABI, X86, X86_64]' and module 'cardscan' supports '[ARM64_V8A, ARMEABI_V7A, X86, X86_64]'.

When I move maven declaration to top level build.gradle and library implementation to build.gradle (app), it works fine, but I need to implement it in an on-demand module.

Environment Details

BlinkCard version: 2.4.0

anjapenic commented 2 years ago

Hello @marlonl3001,

Thanks for waiting for our answer. Since our SDKs are using the latest Android NDK which doesn’t support armeabi CPUs, you should add an abiFilter to the build.gradle of your base module which would filter out the armeabi architecture. This way the modules would have matching sets of supported ABI’s and your code should compile. You can do this by adding this section to your base modules build.gradle:

android {
    defaultConfig {
        ndk {
            abiFilters 'ARM64_V8A', 'ARMEABI_V7A', 'X86', 'X86_64'
        }
    }
} 

Best regards, Anja