当前位置: 首页 > 知识库问答 >
问题:

无法在调试模式下运行

宁鹏程
2023-03-14

我试图在调试模式下启动我的android应用程序,但每次我检查BuildConfig。调试它说这是错误的。更进一步,在buildtypes中定义的buildconfigField甚至不会显示在BuildConfig中。

这是我的gradle文件:

buildscript {
repositories {
    maven { url 'https://maven.fabric.io/public' }
}

dependencies {
    classpath 'io.fabric.tools:gradle:1.22.0'
}
}

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
    maven {
        url 'https://maven.fabric.io/public'
    }
}


def versionMajor = 1

def versionMinor = 2
def versionPatch = 41
def versionBuild = 0 // bump for dogfood builds, public betas, etc.

android {
    compileOptions.encoding = 'ISO-8859-1'
    compileSdkVersion 21
    buildToolsVersion "22.0.1"
    defaultConfig {
        applicationId "com.name"
        minSdkVersion 17
        targetSdkVersion 21
        buildConfigField 'Boolean', 'enableCrashlytics', 'false'
        multiDexEnabled true
        versionCode versionMajor * 10000 + versionMinor * 1000 + versionPatch * 100 + versionBuild
        versionName "${versionMajor}.${versionMinor}.${versionPatch}.${versionBuild}"
    }



signingConfigs {
    release {
      // release stuff
    }
}

buildTypes {

    android {
        release {
            debuggable false
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
            buildConfigField 'Boolean', 'enableCrashlytics', 'true'
        }

        debug {
            buildConfigField 'Boolean', 'enableCrashlytics', 'false'
            debuggable true
            minifyEnabled false
            applicationIdSuffix ".debug"
        }
    }
}

sourceSets {
    main {
        res.srcDirs = ['src/main/res', 'src/main/res/xml']
    }
}

dexOptions {
    incremental true
    javaMaxHeapSize "2048M"
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}

lintOptions {
    checkReleaseBuilds false
    abortOnError false
}
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.1.1'
    // ... some other libs
    compile('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') {
        transitive = true;
    }
}

因此,在Android Studio中,我为我的应用程序选择了build Variant“debug”,但当我在应用程序中点击一个断点并检查BuildConfig的值时,无法解析字段enableCrashlytics,并且无法解析BuildConfig的值。构建类型为“发布”。

我做错了什么?


共有1个答案

姜华翰
2023-03-14

如果代码在中,一个项目中有多个BuildConfig类,每个模块一个,并且只有主应用程序一个会按预期更新,则可能会发生这种情况。

如果你想有一个适当的BuildConfig.BUILD_TYPE在整个应用程序,你需要有debug/释放构建类型上所有的模块的gradle文件,并向下选择构建类型从主gradle文件依赖关系

 类似资料:
  • 最近我从旧的蝗虫版本(0.14.2)切换到1.3.1。以前,我可以使用命令WebsiteUser().run()在调试模式下运行,它会在所有断点上停止。 当我尝试使用相同的命令运行新版本时,会出现下一个错误: 文件“/home/user/PycharmProjects/my_test/venv/lib/python3.7/site packages/hocust/user/users.py”,第2

  • 我试图通过取消standalone.conf文件中JAVA_OPTS行的注释,在调试模式下启动JBoss 7.x。我看到一个非常奇怪的行为,JBoss不启动,它退出了错误“JDWP传输dt_socket初始化失败,TRANSPORT_INIT(510)”绑定问题。有人看过这个问题吗?端口号是8787,当我使用netstat时,我看不到8787上有任何东西在运行。 有什么想法吗?

  • 我正尝试使用hybrisserver.bat调试从控制台启动hybris服务器,但失败 C:\work\trail\hybris\bin\platform>hybrisserver.bat调试'findstr'不能识别为内部或外部命令、可操作程序或批处理文件。用法:“C:\work\trail\hybris\bin\platform\tomcat\bin\wrapper.bat”{console:

  • 问题内容: 从最近开始,在Eclipse Galileo中以调试模式运行程序要慢得多。 我不知道有什么变化。 您知道可能是什么原因吗?正常运行它不是问题。 问题答案: 另一个“调试中断”是方法进入/退出断点的使用。 您是否尝试一次删除 所有 断点定义? 有时我认为Eclipse与其某些内部/显示状态不同步。也许您应该尝试设置新的工作空间(而非副本)。有时这可以帮助我从虚假功能中恢复过来。 这是您可

  • 我已经在Ubuntu上安装了hadoop 1.2.0。所有的服务namenode,sec namenode,datanode,jobtracker,tasktracker运行良好。 然后我安装了hbase-0-94.8,我希望配置也可以。但是HMaster无法在端口9000上启动。它实际上开始,然后下降。 >2014-05-14 09:28:37,015 INFO org.apache.hadoo

  • 我尝试将groovy测试嵌入到java项目中。我从斯波克的例子开始-https://github.com/spockframework/spock-example 示例是通过运行maven目标测试来编译和执行的,但如果我尝试在intellij idea下运行测试(在测试方法下按ctrl F10),它将失败,并出现类路径错误。 运行HelloSpockS错误pec.lengthSpock和他的朋友的