我可以使用自动生成的调试和发布构建变体来生成签名的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
我真的看不到任何看起来有冲突的东西,但是话又说回来,我真的不知道如何读取依赖项打印输出。也许我想念一些东西
顺便说一下,情况并非总是如此。这是从无处发生的。只是突然发疯了。
答案 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
块。