在库中添加和使用产品口味

时间:2019-05-07 06:33:36

标签: product android-flavors

我想执行与自定义库不同的工作,所以我要在自定义库中添加产品口味。

我在库gradle和我的应用程序gradle中添加了尺寸,产品口味,配置。

此外,我已经按照互联网上的说明将publishNonDefault true添加到了库中。 但是我仍然无法建立自己的目标。 我无法弄清楚我在做什么错?请指导我。 提前致谢。 我已经在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'
}

我的应用程序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',   配置='paginationDebug'}]类型的对象   org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler。

请帮帮我。在此先感谢:)

0 个答案:

没有答案