可以构建自动生成的调试构建变体apk,但不能构建自定义构建变体apk

时间:2020-10-29 05:41:11

标签: android gradle android-gradle-plugin build.gradle

我可以使用自动生成的调试和发布构建变体来生成签名的APK,但不能使用我添加的登台变体。

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            buildConfigField "String", "REST_BASE_URL", RELEASE_REST_BASE_URL
            buildConfigField "String", "PREF_FILE_KEY", RELEASE_PREF_FILE_KEY
            buildConfigField "Boolean", "RETROFIT_CLIENT", RELEASE_RETROFIT_CLIENT
        }

        debug {
            applicationIdSuffix ".debug"
            debuggable true
            buildConfigField "String", "REST_BASE_URL", DEV_REST_BASE_URL
            buildConfigField "String", "PREF_FILE_KEY", DEV_PREF_FILE_KEY
            buildConfigField "Boolean", "RETROFIT_CLIENT", DEV_RETROFIT_CLIENT
        }

        staging {
            applicationIdSuffix ".debugStaging"
            debuggable true
            buildConfigField "String", "REST_BASE_URL", STAGING_REST_BASE_URL
            buildConfigField "String", "PREF_FILE_KEY", STAGING_PREF_FILE_KEY
            buildConfigField "Boolean", "RETROFIT_CLIENT", STAGING_RETROFIT_CLIENT
        }
    }

除了更改某些配置字段外,我基本上都使用了debug变体并对其进行了复制以进行升级。

我只有在执行暂存apk构建时遇到此错误。调试apk构建不是问题:

执行com.android.build.gradle.internal.tasks.Workers $ ActionFacade时发生故障 条目名称“ META-INF / androidx.hilt_hilt-common.version”相冲突

我打印出依赖树。常见的hilt-common条目如下:

+--- androidx.hilt:hilt-common:{strictly 1.0.0-alpha02} -> 1.0.0-alpha02 (c)

|    +--- androidx.hilt:hilt-common:1.0.0-alpha02
|    |    \--- com.google.dagger:hilt-android:2.28-alpha (*)

|    +--- androidx.hilt:hilt-common:1.0.0-alpha02

我真的看不到任何看起来有冲突的东西,但是话又说回来,我真的不知道如何读取依赖项打印输出。也许我想念一些东西

顺便说一下,情况并非总是如此。这是从无处发生的。只是突然发疯了。

1 个答案:

答案 0 :(得分:0)

除非声明initWith debug,否则不会重复任何内容:

buildTypes {
    staging {
        initWith debug
        applicationIdSuffix ".staging"
        buildConfigField "String", "REST_BASE_URL", RELEASE_REST_BASE_URL
        buildConfigField "String", "PREF_FILE_KEY", RELEASE_PREF_FILE_KEY
        buildConfigField "Boolean", "RETROFIT_CLIENT", RELEASE_RETROFIT_CLIENT
    }
}

这个问题没有dependencies块。