Android:管理不同的服务器URL以进行开发和发布

Abd*_*lah 18 android android-gradle-plugin

我正在开发一个Android应用程序,它通过REST API与服务器交互.显然,我需要使用不同的URL来开发和发布版本.评论和取消评论代码是非常乏味和错误的.

处理这种情况的最佳方法是哪种?在gradle文件中使用不同的构建类型是可以自动化该过程的类型,但我不确定这是否是正确的方法.

构建类型的数量也有增加的可能性.测试,内部释放等

Com*_*are 72

如果您使用的是Android Studio,请使用buildConfigField向您的BuildConfig班级添加自定义字段.

buildTypes {
        debug {
          buildConfigField "String", "SERVER_URL", '"http://test.this-is-so-fake.com"'
        }

        release {
          buildConfigField "String", "SERVER_URL", '"http://prod.this-is-so-fake.com"'
        }

        mezzanine.initWith(buildTypes.release)

        mezzanine {
            buildConfigField "String", "SERVER_URL", '"http://stage.this-is-so-fake.com"'
        }
    }
Run Code Online (Sandbox Code Playgroud)

在这里,我有三种构建类型:标准debugrelease自定义类型mezzanine.每个都定义了一个SERVER_URL字段BuildConfig.

然后,在Java代码中,您只需参考BuildConfig.SERVER_URL.该字段将具有基于您用于构建特定版本的应用程序的构建类型的值.