Lee*_*fin 8 android android-gridview android-studio android-gradle-plugin android-studio-2.3
我的Android Studio版本是2.3.3
在我的Android应用程序gradle构建中,我已经明确地server_url为调试类型和发布类型定义了不同的字符串值:
buildTypes {
debug {
resValue "string", "server_url", "https://myserver.debug.com/"
}
release {
resValue "string", "server_url", "https://myserver.com/"
...
}
}
Run Code Online (Sandbox Code Playgroud)
在我的代码中,我通过以下方式获取字符串值:
String url = context.getString(R.string.server_url);
Run Code Online (Sandbox Code Playgroud)
我将Android手机连接到笔记本电脑.Android studio工具栏如下所示:

我还选择构建变体为"debug":
我点击了
,该应用程序正在我的手机上运行,但是,它使用server_url在发布类型中定义的值.为什么?
(在build/generated/res/resValues/debug/generated.xml&build/generated/res/resValues/release/generated.xml我看到那些价值观,没有问题.)
====更新===
加入defaultPublishConfig 'debug'解决了该问题(感谢@Ulug托普拉克),但我仍然不知道为什么,虽然我已构建变量为"Debug"的Android Studio不会没有它的工作.也许是Android Studio中的一个错误?
只是为了回答您更新的问题,
多模块设置(应用程序 + Android 库)不会从 Android 库模块记录带注释的方法/类,但会在 Android 应用程序模块上记录。这背后的原因是 Android Gradle 插件会将所有 Android 库构建为发布版本。
正如评论中所建议的,添加defaultPublishConfig "debug"到 build.gradle 文件将强制使用调试版本
| 归档时间: |
|
| 查看次数: |
596 次 |
| 最近记录: |