无法切换到Android Studio中的调试生成变量
我已经切换到发布构建变量并配置了signingConfigs。现在,当我尝试从下拉菜单中检查debug build variant时,它会立即切换回release build variant。因此,我无法再以调试模式运行我的应用程序无法切换到Android Studio中的调试生成变量,android,android-studio,android-gradle-plugin,Android,Android Studio,Android Gradle Plugin,我已经切换到发布构建变量并配置了signingConfigs。现在,当我尝试从下拉菜单中检查debug build variant时,它会立即切换回release build variant。因此,我无法再以调试模式运行我的应用程序 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotli
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中的所有更改恢复为配置之前的状态,但没有成功
有没有办法解决这个问题?与build.gradle文件无关 分享希望它能帮助其他人- 我也有类似的问题,因为build.gradle中的一行-
android {
...
publishNonDefault true // remove this line and it should work!
}
你可以得到更多关于publishNonDefualt的细节-
还可以发布库的所有变体。我们计划在使用正常的项目到项目依赖关系(如上图所示)时允许这样做,但由于Gradle的限制,现在不可能这样做(我们也在努力解决这些问题)。 默认情况下,不会启用所有变体的发布。下面的代码段启用了此功能:
也许你已经找到了解决方案,以防万一,我在这里提供我的解决方案
适用于Android Studio 2.x 这可能是因为您使用以下方法编译从属项目:
compile project('module_a')
上述设置将强制您的项目编译模块的发布版本。只需将其更改为以下内容:
releaseCompile project(path: ':module_a', configuration: 'release')
debugCompile project(path: ':module_a', configuration: 'debug')
适用于Android Studio 3.x 您不需要为“模块项目”显式指定构建变量。只是使用
implementation project(':library')
将自动帮助选择正确的构建变量
以下是详细说明:
适用于从2.x升级的Android Studio 3.x 删除项目根目录下的
.idea
文件夹,然后重新启动Android Studio
以下是GUI屏幕截图:
希望有帮助 遇到了同样的问题,解决了创建新的临时生成类型、生成>编辑生成类型、选择生成类型并添加新的生成类型的问题。同步,然后您可以选择新的生成类型,然后恢复到原始的调试生成类型。我刚刚遇到了相同的问题。通过关闭Android Studio,删除生成的文件和文件夹解决了这个问题:
.gradle
,.idea
,app/.externalNativeBuild
,app/build
,build
,app/app.iml
,ProjectName.iml
,local.properties
,然后重新启动Android Studio并允许它从头开始重新生成所有这些文件。对我来说,我无法切换到我们的“devDebug”变体,但我可以切换到另一个变体,如“devRelease”,然后是“devDebug”。因此,请先尝试切换到另一个变体。只需剪切“.idea”文件夹并将其粘贴到项目根文件夹外(如果需要,可进行备份)。这些文件将自动重新生成。打开项目时,它会要求将模块(应用程序)添加到您的项目中。您可以忽略相同的内容
它将默认构建变量设置为“debug”。
您可以在左角看到build variant选项卡或将鼠标悬停在“Monitor”上“左下角的符号用于获取构建变量选项。我也有这个问题。我的解决方案是签出到我更改了构建变量的分支。在那个分支,我可以从release改回debug。然后只需签出到当前分支,一切都正常。这似乎是Android Studio的一个bug。打开您的模块设置。(点击F4) 转到“生成类型”,单击加号(+)创建新生成 随便什么名字都行,比如“演示” 复制调试生成的所有数据
现在,当您打开buildvariant时,您将能够切换到Debug和Demo。我遇到了一个类似的问题,大多数Build菜单项都变灰了。 “将项目与Gradle文件同步”未修复 我注意到Android Studio(V3.1.2)左下角有一个“Build Variants”(构建变体)切换按钮,通过这个按钮,我终于能够选择我需要的变体 也许这对你也有用 英语不是我的母语;请原谅打字错误 我也遇到这种情况。我这样做是为了solv。
解决方案:
1.删除每个模块的
impl后缀类型文件和build文件夹
2.然后单击此按钮将项目与gradle生成文件同步
最后。然后这个问题就会解决。我解决了这个问题,发布者:
通过编辑build.gradle添加名为debug1的新生成类型;启用此生成类型的调试功能李>
同步并选择新的生成类型debug1李>
我遇到了类似的问题。我的模块级build.gradle反映了相应地为“调试”和“发布”指定的配置。我能够在emulator and device(LG)上成功运行我的应用程序,然后构建并签署我的应用程序发布版本。构建并签署发布版本并尝试在我的手机和设备上运行已签署的APK后,我收到一个错误PM会话“mobile”:启动活动时出错…启动活动时出错
。因此我开始回顾我的步骤,并意识到在部署已签署的发布版本之前,我打开了运行/调试配置对话框
并错误地从安装类别下的部署属性中选择了appbundle中的APK值
我完整地签署了我的APK,而不是通过Bundle,因此选择的选项试图部署一个从未生成过的无效应用程序Bundle,即使它是针对正确的构建变量 在linux上的符号链接位置打开项目时,似乎会出现此问题。直接打开项目解决了这个问题
相关链接:对我来说,这是gradle版本的问题。确保您的插件版本和所需的gradle版本符合t
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}