Добавление и использование вариантов продукта в библиотеке - PullRequest
0 голосов
/ 07 мая 2019

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

Я добавил измерения, варианты продуктов, конфигурации для библиотеки и приложения.

Кроме того, я добавил publishNonDefault true в библиотеку, как это предусмотрено в Интернете.Но я все еще не в состоянии построить свой gradle.Я не могу понять, что я делаю неправильно?Пожалуйста, ведите меня.Заранее спасибо.Я уже добавил конфигурации, зависимости в gradle

Мой библиотечный gradle выглядит так:


android {
    compileSdkVersion 28
    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }
    publishNonDefault true
    flavorDimensions "api"
    productFlavors {
        pagination {
            dimension "api"
            versionCode 1
            versionName "1.0"
        }
        withoutPagination {
            dimension "api"
            versionCode 1
            versionName "1.0"
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

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

    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'com.android.support:cardview-v7: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'
}

А мой Application gradle (app.gradle) выглядит так:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.tagapplication"
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    flavorDimensions "api"
    productFlavors {
        pedia{
            dimension "api"
            versionCode 1
            versionName "1.0"
        }
        gynae{
            dimension "api"
            versionCode 1
            versionName "1.0"
        }
    }
    buildTypes {
        debug{

        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
configurations{
    pediaDebugImplementation
    pediaReleaseImplementation
    gynaeDebugImplementation
    gynaeReleaseImplementation
}
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:recyclerview-v7:28.0.0'

    pediaDebugImplementation project(path: ':taglibrary', configuration: 'paginationDebug')
    gynaeDebugImplementation project(path: ':taglibrary', configuration: 'withoutPaginationDebug')

    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'
}

Я ожидаю, что Gradle должен собираться так, как я предоставил конфигурации и варианты продукта.Но я получаю сообщение об ошибке при построении gradle:

ОШИБКА: не удалось найти метод pediaDebug () для аргументов [DefaultProjectDependency {dependencyProject = 'project': taglibrary '', configuration = 'paginationDebug'}]для объекта типа org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

Пожалуйста, помогите мне.Заранее спасибо:)

...