генерировать ошибки ReRelayBuildConfig в библиотеке - PullRequest
0 голосов
/ 10 марта 2019

Проект Android Studio.У меня есть два библиотечных модуля, ни в одном из которых нет Java.Я пытаюсь подавить генерацию BuildConfig, чтобы также не было сгенерированной Java.Файл Gradle для первого идет:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 26

    defaultConfig {
        minSdkVersion 3
        targetSdkVersion 26

        externalNativeBuild {
            ndkBuild {
                abiFilters "armeabi", "x86", "x86_64", "armeabi-v7a", "mips", "arm64-v8a"
                targets "pad", "gif"
            }
        }
    }

    buildTypes {
        release {
            minifyEnabled false
        }
        debug {
            jniDebuggable true
        }
    }

    externalNativeBuild {
        ndkBuild {
            path file("src/main/jni/Android.mk")
        }
    }
}

dependencies {}

afterEvaluate {
    generateReleaseBuildConfig.enabled = false
    generateDebugBuildConfig.enabled = false
}

Для другого:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 26

    defaultConfig {
        minSdkVersion 3
        targetSdkVersion 26

        externalNativeBuild {
            ndkBuild {
                abiFilters "armeabi", "x86", "x86_64", "armeabi-v7a", "mips", "arm64-v8a"
            }
        }
    }

    buildTypes {
        release {
            minifyEnabled false
        }
        debug {
            jniDebuggable true
        }
    }

    externalNativeBuild {
        ndkBuild {
            path file("src/main/jni/Android.mk")
        }
    }

    flavorDimensions 'Color'
    productFlavors {
        Blue {
            dimension "Color"
            externalNativeBuild {
                ndkBuild {
                    cppFlags "-DBLUE"
                }
            }
        }
        Red {
            dimension "Color"
            externalNativeBuild {
                ndkBuild {
                    cppFlags "-DRED"
                }
            }
        }
    }
}

dependencies {
    implementation project(':Foo')
}

afterEvaluate {
    generateReleaseBuildConfig.enabled = false
    generateDebugBuildConfig.enabled = false
}

Первый работал какое-то время, без проблем.Второй, который я только что создал, и при этом происходит сбой синхронизации Gradle:

Произошла проблема при настройке проекта ': LibBar'.

Не удалось получитьнеизвестное свойство 'generateReleaseBuildConfig' для проекта ': LibBar' типа org.gradle.api.Project.

Если я прокомментирую эту строку, она будет жаловаться на generateDebugBuildConfig.

Второй модуль зависит от первого, но не уверен, что он имеет значение.

У обоих есть манифест только с package.

Чего мне не хватает?Я пытался очистить проект, аннулировав кеши.Gradle - последняя версия, так же как и Android Studio (только что обновленная).

1 Ответ

0 голосов
/ 10 марта 2019

Система сборки украшает имя шага текущей версией сборки. Так и должно быть вместо:

afterEvaluate {
    generateBlueReleaseBuildConfig.enabled = false
    generateBlueDebugBuildConfig.enabled = false
    generateRedReleaseBuildConfig.enabled = false
    generateRedDebugBuildConfig.enabled = false
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...