【问题标题】:Need clarification for testing BuildConfig.DEBUG and setting build type需要澄清测试 BuildConfig.DEBUG 和设置构建类型
【发布时间】:2018-10-01 19:07:09
【问题描述】:

在我的 android 应用程序中,我尝试运行两组代码,以便在使用 Android Studio 时自动更改广告 ID。

一个用于在 Android Studio 中进行调试,另一个用于构建 .apk 以上传到 Play 商店。

我一直在使用if (BuildConfig.DEBUG),但我如何确定只有在我实际在 Android Studio 中调试时才会出现这种情况,并且当我构建签名的 .apk 时它会被设置为 false?我应该在哪里配置 Gradle 以了解要使用的构建类型,还是在单击“运行”时自动完成?

Manifest.xml

buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug {
        applicationIdSuffix ".debug"
        debuggable true
    }
}

【问题讨论】:

    标签: java android android-studio gradle android-gradle-plugin


    【解决方案1】:

    当您生成 APK 时,最后一个屏幕将有一个下拉菜单,让您可以选择构建类型。它默认为“发布”,但您可以将其更改为“调试”。

    这就是使 APK 成为调试或发布 APK 的方式。

    基本上,如果您使用右上角的播放按钮或使用 Shift+F10 运行应用程序,它将被构建为调试 APK。如果您生成一个签名的 APK,它将是一个发布 APK。

    【讨论】:

    • 我明白了,我没有意识到这是在过程的最后一步。因此,在任何情况下,我在 Android Studio 中单击运行,它将作为调试运行,我可以在签名构建期间进行选择。谢谢你的澄清!
    【解决方案2】:

    您可以通过在build variants 选项卡中选择要构建的变体(调试或发布)来设置它。构建完成后,您可以通过转到 app/build/generated/source/buildConfig/debug/your/package/name/BuildConfig

    来确认变体

    在这里你会看到这一行:

    public static final boolean DEBUG = Boolean.parseBoolean("true");
    

    当您创建发布变体时,您将拥有

    public static final boolean DEBUG = Boolean.parseBoolean("false");
    

    app/build/generated/source/buildConfig/release/your/package/name/BuildConfig

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-09
      • 2013-09-06
      • 1970-01-01
      • 1970-01-01
      • 2011-05-07
      相关资源
      最近更新 更多