【发布时间】: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