在调试模式下运行Android应用程序

我的 Android Studio版本是2.3.3

在我的Android应用程序gradle构建中,我已经明确地为调试类型和发布类型定义了不同的server_url字符串值:

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

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

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

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

我还选择了构建变体为“debug”:

我单击,应用程序正在我的手机上运行,​​但是,它使用在发布类型中定义的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中的一个错误?

解决方法

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

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

正如在注释中建议的那样,将defaultPublishConfig“debug”添加到build.gradle文件将强制调试版本

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...