Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法切换到Android Studio中的调试生成变量_Android_Android Studio_Android Gradle Plugin - Fatal编程技术网

无法切换到Android Studio中的调试生成变量

无法切换到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

我已经切换到发布构建变量并配置了signingConfigs。现在,当我尝试从下拉菜单中检查debug build variant时,它会立即切换回release build variant。因此,我无法再以调试模式运行我的应用程序

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'
    }