【问题标题】:Run Android app in debugging mode在调试模式下运行 Android 应用
【发布时间】:2017-07-21 13:50:07
【问题描述】:

我的 Android Studio 版本是 2.3.3

在我的 Android 应用 gradle 构建中,我为 debug 类型和 release 类型明确定义了不同的 server_url 字符串值:

buildTypes {
        debug {
            resValue "string", "server_url", "https://myserver.debug.com/"
        }
        release {
            resValue "string", "server_url", "https://myserver.com/"
            ...
        }
    }

在我的代码中,我通过以下方式获取字符串值:

String url = context.getString(R.string.server_url);

我将我的 Android 手机连接到我的笔记本电脑。 Android Studio 工具栏如下所示:

我还选择了构建变体作为“调试”:

我点击,应用程序正在我的手机上运行,​​但是,它使用release类型中定义的server_url值。为什么?

(在build/generated/res/resValues/debug/generated.xml & build/generated/res/resValues/release/generated.xml 下我看到了这些值,那里也没有问题。)

==== 更新 ===

添加defaultPublishConfig 'debug' 解决了这个问题(感谢@Ulug Toprak),但我仍然想知道为什么Android Studio 在没有它的情况下无法工作,尽管我已将Build Variant 设置为“Debug”。可能是 Android Studio 中的错误?

【问题讨论】:

  • 你在运行前尝试clean项目吗?
  • 是的,我尝试在运行前清理项目。它没有帮助。
  • 你可以尝试将defaultPublishConfig "debug"添加到你的build.gradle
  • 你添加jnidebug了吗?
  • 你为什么不用productFlavors?

标签: android android-studio android-gradle-plugin android-gridview android-studio-2.3


【解决方案1】:

只是为了回答您更新的问题,

多模块设置(应用程序 + android 库)不会从 Android 库模块记录带注释的方法/类,但会在 Android 应用程序模块上进行。这背后的原因是,Android Gradle 插件会将所有 Android 库构建为发布版本。

按照 cmets 的建议,将 defaultPublishConfig "debug" 添加到 build.gradle 文件将强制调试版本

【讨论】:

  • 是的,在 build.gradle 库中设置 publishNonDefault 'debug' 后,它就可以工作了。
猜你喜欢
  • 2021-10-30
  • 2016-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-15
  • 2022-01-22
相关资源
最近更新 更多