Подтвердить что ты не робот

Невозможно фильтровать активы для нескольких плотностей с использованием инструментов сборки SDK 21 или более поздней версии

Из-за проблемы с созданием моего приложения в режиме выпуска с помощью плагина gradle 1.3.0, я переключился на 1.4.0 (бета 2), который исправляет указанную проблему сборки.

Однако, в то время как некоторые флейворы прекрасно строятся, другие блокируют свое сообщение со следующим сообщением об ошибке:

Невозможно фильтровать активы для нескольких плотностей с помощью инструментов сборки SDK 21 или более поздней версии. Вместо этого рассмотрите использование расщепления apk.

Я не нашел ссылки на приведенное выше предложение, что мне делать с ресурсами этих вкусов или даже почему эта ошибка появляется только в нескольких вариантах, а не во всех из них.

Изменить: build.gradle

apply plugin: 'com.android.application'

android {
    signingConfigs {
        config {
        }
    }
    compileSdkVersion 23
    buildToolsVersion "23.0.1"
    defaultConfig {
        applicationId "com.example.appname"
        minSdkVersion 8
        targetSdkVersion 23
        versionCode 1
        versionName '0.0.1'
    }
    buildTypes {
        release {
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            minifyEnabled true
            zipAlignEnabled true
            signingConfig signingConfigs.config
        }
        debug {
            applicationIdSuffix 'debug'
            versionNameSuffix '_debug'
        }
    }
    flavorDimensions "googleplay"
    productFlavors {
        noplay {
            dimension "googleplay"
            versionCode Integer.parseInt(defaultConfig.versionCode + "0")
            buildConfigField "boolean", "HAS_GOOGLE_PLAY", "false"

            resConfigs "ldpi", "mdpi"
            // so far we are using the noplay flavor only for old devices, which do not have hidpi
        }
        play {
            dimension "googleplay"
            versionCode Integer.parseInt(defaultConfig.versionCode + "1")
            buildConfigField "boolean", "HAS_GOOGLE_PLAY", "true"
            minSdkVersion 9
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')

    // Google Play services (analytics)
    playCompile 'com.google.android.gms:play-services-analytics:8.1.0'

    // ActionBar and support libraries
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:support-v4:23.0.1'
}
4b9b3361

Ответ 1

resConfigs заменяется разделом APK для плотности и архитектуры. Обратите внимание на следующее предложение:

При использовании инструментов сборки старше 21 года вы также можете добавить resConfigs "nodpi", "hdpi", чтобы также ограничить папки плотности, которые упакованы. Вместо этого используйте разрывы apk для предоставления различных apks устройствам с различные плотности.

Для этой проблемы существует отчет об ошибке .

Оскорбительные resConfigs должны быть удалены, а apk-расщепления могут использоваться вместо них.

Альтернативно, переключение на build-tool 20.0.0 похоже на проблему.