public class APIConfig { /** * 测试环境,开发环境,staging环境所用的值 */ public static final String DEV_APP_ID = "100001"; public static final String DEV_APP_KEY = "f23bcf2ac8d3"; public static final String DEV_APP_SECRET = "f1e6612206a1428a822f215e83bf8c4e"; /** * 线上环境所用的值 */ public static final String RELEASE_APP_ID = "100001"; public static final String RELEASE_APP_KEY = "1d94532d85a1"; public static final String RELEASE_APP_SECRET = "1b397defcc2d4a9298ae05bc8a636d05"; /** * 开发环境 与build.Gradle里对应. */ private static final byte ENV_DEVELOP = 0x00; /** * 测试环境 */ private static final byte ENV_DEBUG = 0x01; /** * 查重微服务接口 * 适用于采集人信息上传,获取查重异步任务结果,查重错误反馈 */ /** * 正式环境 */ private static final byte ENV_RELEASE = 0x02; /** * 开发接口 */ private static final String BASE_COMMENT_DEV_URL = "https:xxxxxx"; /** * 测试接口 https://api-beehive-test.zzcrowd.com.cn/collect/ */ private static final String BASE_COMMENT_TEST_URL = "https:xxxxxx"; /** * staging接口 */ private static final String BASE_COMMENT_STAGING_URL = "https:xxxxxx"; /** * 线上接口 */ private static final String BASE_COMMENT_PROD_URL = "https:xxxxxx"; /** * 开发接口 */ private static final String BASE_BEEEYE_DEV_URL = "https:xxxxxx"; /** * 测试接口 */ private static final String BASE_BEEEYE_TEST_URL = "https:xxxxxx"; /** * staging接口 */ private static final String BASE_BEEEYE_STAGING_URL = "https:xxxxxx"; /** * 线上接口 */ private static final String BASE_BEEEYE_PROD_URL = "https:xxxxxx"; //单例模式 private static APIConfig instance = null; private String API_COMMENT; private String API_BEEEYE_COMMENT; private String APP_ID; private String APP_KEY; private String APP_SECRET; private APIConfig() { switch (BuildConfig.API_ENV) { case ENV_DEVELOP: setParams(BASE_COMMENT_DEV_URL); setBeeEyeParams(BASE_BEEEYE_DEV_URL); setAPPConfig(DEV_APP_ID, DEV_APP_KEY, DEV_APP_SECRET); break; case ENV_DEBUG: setParams(BASE_COMMENT_TEST_URL); setBeeEyeParams(BASE_BEEEYE_TEST_URL); setAPPConfig(DEV_APP_ID, DEV_APP_KEY, DEV_APP_SECRET); break; case ENV_RELEASE: setParams(BASE_COMMENT_PROD_URL); setBeeEyeParams(BASE_BEEEYE_PROD_URL); setAPPConfig(RELEASE_APP_ID, RELEASE_APP_KEY, RELEASE_APP_SECRET); break; } } public static APIConfig getInstance() { if (instance == null) { instance = new APIConfig(); } return instance; } /** * 是否是正式环境 * * @return */ public static boolean isReleaseBuild() { return BuildConfig.API_ENV == ENV_RELEASE; } private void setParams(String conmment) { API_COMMENT = conmment; } private void setAPPConfig(String AppID, String AppKey, String AppSecret) { APP_ID = AppID; APP_KEY = AppKey; APP_SECRET = AppSecret; } private void setBeeEyeParams(String params) { API_BEEEYE_COMMENT = params; } public String getBaseCommentUrl() { return API_COMMENT; } public String getBeeEyeCommentUrl() { return API_BEEEYE_COMMENT; } public String getAppID() { return APP_ID; } public String getAppKey() { return APP_KEY; } public String getAppSecret() { return APP_SECRET; } }
APP的gradle配置里
buildTypes { develop { minifyEnabled false buildConfigField "byte", "API_ENV", "0x00" signingConfig signingConfigs.release proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } debug { minifyEnabled false buildConfigField "byte", "API_ENV", "0x01" useProguard true signingConfig signingConfigs.release proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } release { minifyEnabled false buildConfigField "byte", "API_ENV", "0x02" shrinkResources false signingConfig signingConfigs.release proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } sourceSets.main { jniLibs.srcDir 'libs' jni.srcDirs = [] } }