Search code examples
androidandroid-studiojava-native-interfaceweb3jsbitcoinj

Android: Bitcoin J INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113


I am facing an issue with my Project Everything was working fine before I Integrated BitcoinJ Library, Once I add that library to my Gradle file it stops installing the APK on Real Device with the error:

INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113

Here is My Gradle File:

apply plugin: 'com.android.application'

android {

compileSdkVersion 28
defaultConfig {
    applicationId "com.umerkiani.osrwallet"
    minSdkVersion 21
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

dataBinding {
    enabled true
}



compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}


}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:design:28.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'org.bitcoinj:bitcoinj-core:0.14.7'
implementation('org.web3j:core:3.3.1-android')

}

I have also tried adding the following lines to Gradle but it didn't Help

splits {
    abi {
        enable true
        reset()
        include 'x86', 'armeabi-v7a', 'x86_64'
        universalApk true
    }
}

Solution

  • Use follwing in app.gradle it will resolve your issue

    apply plugin: 'com.android.application'
    android {
        compileSdkVersion 28
        defaultConfig {
            applicationId "com.umerkiani.osrwallet"
            minSdkVersion 21
            targetSdkVersion 28
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
            multiDexEnabled true
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            }
        }
        dataBinding {
            enabled true
        }
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    
        packagingOptions {
            exclude 'lib/x86_64/darwin/libscrypt.dylib'
            exclude 'lib/x86_64/freebsd/libscrypt.so'
            exclude 'lib/x86_64/linux/libscrypt.so'
        }
    }
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:28.0.0'
        implementation 'com.android.support.constraint:constraint-layout:1.1.3'
        implementation 'com.android.support:design:28.0.0'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
        implementation 'org.bitcoinj:bitcoinj-core:0.14.7'
        implementation('org.web3j:core:3.3.1-android')
        implementation 'org.slf4j:slf4j-api:1.7.12'
        implementation 'org.slf4j:slf4j-simple:1.7.12'
        implementation 'com.android.support:recyclerview-v7:28.0.0'
        implementation 'com.google.zxing:core:3.3.1'
        implementation 'com.karumi:dexter:5.0.0'
        implementation 'com.journeyapps:zxing-android-embedded:3.6.0'
        implementation "io.reactivex.rxjava2:rxandroid:$rootProject.rxandroidVersion"
    }