Ошибка INSTALL_FAILED_NO_MATCHING_ABIS на Android 8

Я пытаюсь создать свое приложение, подключающее мой телефон Pixel. Недавно я обновил свой телефон до Android 8. Мне удавалось создавать и открывать приложение на телефоне до последнего обновления, но после этого обновления я получаю сообщение Ошибка [INSTALL_FAILED_NO_MATCHING_ABIS: Не удалось извлечь собственные библиотеки, разрешение = -113 ] ошибка.

Ниже мой файл градиента. Может кто-нибудь, пожалуйста, скажите мне, в чем проблема??

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion '26.0.1'
    defaultConfig {
        applicationId "com.my.app.googlemaps"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
        multiDexEnabled = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    splits {
        abi {
            enable true
            reset()
            include 'x86', 'armeabi-v7a'
            universalApk true
        }
    }
    lintOptions {
        abortOnError false
    }
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
...
    testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'

person nikhil n    schedule 07.09.2017    source источник
comment
Та же проблема здесь, отладочный apk выдает эту ошибку, но релизный apk работает нормально.   -  person user3471194    schedule 12.09.2017
comment
У меня точно такая же проблема. Кто-нибудь нашел решение?   -  person pr0gg3r    schedule 12.09.2017
comment
Проблема была с одной из библиотек Apache, которые я использовал. После удаления приложение установилось   -  person nikhil n    schedule 13.09.2017
comment
@nikhiln, не могли бы вы указать, в какой библиотеке? Я использую POI и Math.   -  person user3471194    schedule 20.09.2017
comment
@user3471194 user3471194 Я использовал библиотеку Apache   -  person nikhil n    schedule 23.09.2017
comment
Проверьте, правильно ли вы ссылаетесь на библиотеки maven, которые исправили мою проблему.   -  person user3471194    schedule 03.04.2018
comment
Debug apk выдает эту ошибку, но с выпуском все в порядке. Проблема в моем случае была с файлом jar signalR, который включал каталог lib с .ps1 .sh и . файл jar. Исключение их с помощью packageOptions в gradle исправило это. Почему подписание apk решает проблему? Без понятия...   -  person H.A.H.    schedule 27.06.2018
comment
Я просто столкнулся с этой проблемой: stackoverflow.com/a/51146016/180284   -  person yava    schedule 03.07.2018
comment
Для меня сработало то, что было предложено здесь: stackoverflow.com/a/51146016/704872   -  person izio    schedule 18.02.2019


Ответы (2)


У него была та же проблема, он работал после замены библиотеки apache (commons-io) на другой commons-io, который был из другого пакета.

Проблема возникла у меня после перехода на новое устройство разработки (Pixel Phone с Android 8.0 Oreo).

Решение 1

В вашем случае вы можете прекратить использовать свои локальные банки из файловой системы (compile fileTree(include: ['*.jar'], dir: 'libs')) и использовать правильные зависимости gradle от bintray (например,).

Исходная зависимость gradle (выдала ту же ошибку, которую вы описываете):

ОШИБКА: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]

dependencies {
    compile 'org.apache.directory.studio:org.apache.commons.io:2.4'
    compile 'commons-cli:commons-cli:1.4'
}

Работаем build.gradle с правильными commons-io артефактами:

dependencies {
    ...
    compile group: 'commons-io', name: 'commons-io', version: '2.5'
    compile group: 'commons-cli', name: 'commons-cli', version: '1.4'
    ...
}

Игнорируйте разные обозначения зависимостей, это не имеет значения

Решение 2

Вы определяете несколько целевых ABI, проверили ли вы, какой из них поддерживает ваше устройство. Возможно, вам нужно добавить еще один, чтобы быть совместимым с ABI вашего устройства.

Вы можете определить их в Application.mk.

См. также:

person sweisgerber.dev    schedule 05.10.2017
comment
Избегайте комментариев вроде +1 или спасибо, нет. +1 и спасибо! - person Zach; 13.03.2018

Это может сработать:

splits {
    abi {
        enable true
        reset()
        include 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'mips', 'mips64', 'arm64-v8a'
        universalApk false
    }
}
person Raj Shah    schedule 01.11.2020
comment
Пожалуйста, добавьте также небольшое пояснение - person Sabito 錆兎; 01.11.2020