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

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

我可以使用自动生成的调试和发布构建变体生成带签名的APK,但不能使用我添加的暂存变体生成签名的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构建不是问题:

A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade Entry name 'META-INF/androidx.hilt_hilt-common.version' collided


我打印出依赖树。 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
我真的看不到任何看起来有冲突的东西,但是话又说回来,我真的不知道如何读取依赖项打印输出。也许我错过了一些东西
顺便说一下,情况并非总是如此。这是从无处发生的。只是突然发疯了。

最佳答案

除非声明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块。

关于android - 可以构建自动生成的调试构建变体apk,但不能构建自定义构建变体apk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64585592/

相关文章:

android - 错误:(8,30)错误:即使我已编译com.android.support:support,也找不到符号类ActionBarActivity

java - 字符串值是如何传递给 updateText() 方法的?

android - 在最新检查期间,无法捕获任务 ':app:transformClassesWithDexBuilderForDebug'属性 '$1'的输入文件的快照。

android - Android 上的溢出滚动不起作用?

java - react-native-admob 中的错误,有人可以帮助我吗?

java - Gradle、rt.jar访问限制

android - Android Studio 中的 OpenCV

java - 当我将 recyclerview 版本从 23.0.1 更改为 23.2.1 时,gradle 文件错误

java - 我的 Android 应用程序遇到问题

android - ActiveAndroid 清理数据库