android - 如何在 Android Studio 中更改调试版本的设置

标签 android android-studio

在项目结构中,我有发布和调试构建类型 enter image description here

如何为不同的构建类型设置不同版本的 NetworkSettings.java 文件。 例如发布

public class NetworkSettings {
    private final static String SERVER_URL="releaseserver.com";
    private final static int SERVER_PORT=80;

    public static String getServerUrl()
    {
        return SERVER_URL;
    }
    public static int getServerPort()
    {
        return SERVER_PORT;
    }
}

和调试

public class NetworkSettings {
    private final static String SERVER_URL="testserver.com";
    private final static int SERVER_PORT=80;

    public static String getServerUrl()
    {
        return SERVER_URL;
    }
    public static int getServerPort()
    {
        return SERVER_PORT;
    }
}

我想使用构建类型来完成它,以免忘记手动更改它。

最佳答案

您可以通过多种方式获得它。

例如,您可以使用您的 BuildConfig。 此外,使用 Gradle,您还可以在 BuildConfig 类中生成其他字段

android {
    ...
    buildTypes {
        debug {
            buildConfigField "boolean", "MY_VAR", "true"
        }
        main {
            buildConfigField "boolean", "MY_VAR", "false"
        }
        ...
    }    
}

然后..

if (BuildConfig.MY_VAR) {

}

否则,您可以以不同的风格提供同一类的不同实现

注意:你必须从main源代码中省略这个类

app/
|--libs/
|--src/
   |--flavor1/
   |  |--java/
   |     |--com/example/
   |        |--Flavor.java
   |--flavor2/
   |  |--java/
   |     |--com/example/
   |        |--Flavor.java
   |--main/
      |--java/
      |  |--...

当然你要在你的build.gradle中声明这些风格

productFlavors {
    flavor2 {
    }
    flavor1 {
    }
}

您还可以使用构建类型,添加名为 debug 和 release 的文件夹。

   app/
    |--libs/
    |--src/
       |--debug/
       |  |--java/
       |     |--com/example/
       |        |--MyClass.java
       |--release/
       |  |--java/
       |     |--com/example/
       |        |--MyClass.java
       |--main/
          |--java/
          |  |--...

关于android - 如何在 Android Studio 中更改调试版本的设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26009420/

相关文章:

android - 如何在 Android Studio 中禁用 "cannot resolve method"错误检查

Android Studio 永远无法下载 fastutil-7.2.0.jar

Android Studio 快捷方式结束行带分号

android - 无法使用 flutter 在 android studio 中加载 windows 开发选项

android - 原因: failed to find target with hash string 'N'

android - 使 View 中的所有元素为 'gone'

Android Eclipse 插件 "reset adb"给出 "Adb connection Error:EOF"错误,没有阻塞,但它是什么?

android - 编辑的视频不会另存为mp4格式的Android Studio

android - 如何在 Espresso 中测试布局的 UI,而不将其附加到 Activity?

android - 有没有办法取消 "Publishing Overview"中准备发布的应用程序版本