1. 程式人生 > >Android正式和開發環境下切換操作,BuildConfig幫你一步到位

Android正式和開發環境下切換操作,BuildConfig幫你一步到位

在Android開發中,正式和測試環境的切換,一般情況下我們都會去設定一個tag,通過此tag來改變開發環境。

以前的寫法一般都是:

public class BaseApplication extends Application {
    public boolean isRelease = true;//true是正式環境,false是開發環境
    static BaseApplication baseApplication;

    @Override
    public void onCreate() {
        super.onCreate();
        baseApplication = this;
    }

    public boolean getEnvironment() {
        return isRelease;
    }

    public static BaseApplication getBaseApplicaton() {
        return baseApplication;
    }


}
public class ApiManager {
    private final String RELEASE_HOST = "host1";
    private final String DEVELOP_HOST = "host2";

    public String getHost() {
        if (BaseApplication.getBaseApplicaton().getEnvironment())
            return RELEASE_HOST;
        else
            return DEVELOP_HOST;
    }


}

基本就是這樣,我這裡通過isRelease去設定它是什麼開發環境。

其實AndroidStudio,已經為我們區分了正式和開發環境,就如同我們平時開發的時候要打簽名包了一樣。

我們只要在build.gradle中配置自己想要的

 buildTypes {
        release {
            buildConfigField "String", "HOST", "\"www.release.com\""
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        }
        debug {
            buildConfigField "String", "HOST", "\"www.develop.com\""
        }
    }

這裡我配置了HOST,這樣在開發的時候就會用www.develop.com,簽名包的時候用www.release.com.
public class ApiManager {

    public String getHost() {

        return BuildConfig.HOST;
    }


}

如此一來,都不要配置環境變數,可以直接開始寫程式碼了!