Android正式和開發環境下切換操作,BuildConfig幫你一步到位
阿新 • • 發佈:2019-01-01
在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;
}
}
如此一來,都不要配置環境變數,可以直接開始寫程式碼了!