无法在Android Studio中切换到调试版本变体

我已经切换到发布构建版本并配置了签名配置。 现在,当我尝试从下拉菜单中检查调试构建变体时,它立即切换回发布构建变体。 所以我不能在调试模式下运行我的应用程序了。

apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' apply plugin: 'realm-android' android { signingConfigs { config { ... } } compileSdkVersion rootProject.compileSdkVersion buildToolsVersion rootProject.buildToolsVersion defaultConfig { applicationId "com.kost.foo" minSdkVersion rootProject.minSdkVersion targetSdkVersion rootProject.targetSdkVersion versionCode 2 versionName "1.1" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" ndk { abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } externalNativeBuild { cmake { ... } } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' debuggable true signingConfig signingConfigs.config } } sourceSets { main.java.srcDirs += 'src/main/kotlin' main { jniLibs.srcDirs = ['src/main/jni'] } } externalNativeBuild { cmake { path 'src/main/jni/CMakeLists.txt' } } } kapt { generateStubs = true } repositories { maven { url 'https://github.com/linchaolong/stetho-realm/raw/master/maven-repo' } mavenCentral() } 

我已经尝试恢复build.gradle中的所有更改,因为它是在配置之前,但没有运气。

任何想法如何解决这个问题?

也许你已经得到了解决方案,以防万一,我在这里提供我的解决方案。

这可能是因为你编译你的依赖项目使用:

 compile project('module_a') 

以上设置将强制您的项目编译您的模块的发行版本。 只需将其更改为以下内容:

 releaseCompile project(path: ':module_a', configuration: 'release') debugCompile project(path: ':module_a', configuration: 'debug') 

希望它有帮助!

我只是有同样的问题。 通过关闭Android Studio解决它,删除生成的文件和文件夹: .gradle.ideaapp/.externalNativeBuildapp/buildbuildapp/app.imlProjectName.imllocal.properties ,然后重新启动Android Studio和允许从头开始重新生成所有这些文件。

与你的build.gradle文件无关,

分享希望能帮助别人 –

我有类似的问题,因为build.gradle中的一行 –

 android { ... publishNonDefault true // remove this line and it should work! } 

在这里,您可以获得有关publishNonDefualt的更多详细信息 –


也可以发布一个库的所有变种。 我们打算在使用正常的项目到项目依赖(如上所示)的同时允许这样做,但是由于Gradle的限制(我们正在努力修复这些),现在还不能这样做。 所有变体的发布默认情况下不启用。 下面的代码片段启用了这个功能:


有相同的问题,解决了创建一个新的临时生成类型,生成>编辑生成类型,选择生成类型,并添加一个新的。 同步,那么您可以选择新的生成类型,然后恢复到原始的调试生成类型。

对我来说,我无法切换到我们的“devDebug”变种,但我可以切换到另一种变种,如“devRelease”,然后“devDebug”。 所以先尝试切换到另一个变种。