我正在编写对REST风格的Web服务进行调用的代码的测试。我需要使用不同的变量进行测试,分期和制作。对于一个示例暂存版本url可以是'myapp.staging.com',而当我测试分段风格时,它应该是'localhost/27015'。生产风味同样如此。当它是发行版时,它应该是'myapp.production.com'。我如何实现这些风格,buildType组合?使用不同的来源进行测试并发布Android Studio
1
A
回答
1
您可以使用BuildType和flavor来实现它。
如果你想为不同的组合使用不同的url,你可以在你的资源中使用一个值。
使用flavor1,flavor2你有4 Build Variants。
您可以在资源中设置url,例如在strings.xml
文件中。
然后你可以在这些文件夹中设置不同的文件来实现你想要的。
src/flavor1/
src/flavor1Debug/
src/flavor1Release/
src/flavor2/
src/flavor2Debug/
src/flavor2Release/
您可以设置所有其他值,例如applicationId
,在build.gradle
文件。
1
0
这是我们正在做...这是我们的应用程序生成文件。
defaultConfig {
applicationId 'com.XXXX.XXXXfyd'
minSdkVersion 17
targetSdkVersion 23
versionCode 55
versionName "1.0.0"
multiDexEnabled true
buildConfigField "boolean", "OTP_ENABLED", "false";
buildConfigField "boolean", "MINT_API_ENABLED", "false";
buildConfigField "String", "MINT_API_KEY", "\"XXCVVF\"";
resValue "string", "app_name", "XXXXfyd Debug"
resValue "string", "account_name", "XXXXfyd Debug"
resValue "string", "account_type", "com.XXXX.XXXXfyd.debug"
resValue "string", "account_authority", "com.mind.eventifyd.debug.provider"
buildConfigField "String", "ACCOUNT_NAME", "\"XXXXfyd Debug\""
buildConfigField "String", "ACCOUNT_TYPE", "\"com.XXXX.XXXXfyd.debug\""
buildConfigField "String", "ACCOUNT_AUTHORITY", "\"com.XXXX.XXXXfyd.debug.provider\""
buildConfigField "String", "XXXXXFYD_XXXXX_URI", "\"http://XXX.XXX.XX.XX\"";
buildConfigField "String", "XXXXFYD_XXXX_URI", "\"XXXX//[email protected]:XXXXX\""
}
buildTypes {
release {
/* zipAlignEnabled true
minifyEnabled true*/
shrinkResources false
debuggable false
/* proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'*/
signingConfig signingConfigs.release
versionNameSuffix "-build." + getDate()
resValue "string", "app_name", "XXXXXfyd"
buildConfigField "boolean", "OTP_ENABLED", "false";
buildConfigField "boolean", "MINT_API_ENABLED", "true";
buildConfigField "String", "MINT_API_KEY", "\"efrtgyhu\"";
resValue "string", "account_name", "XXXXXfyd"
resValue "string", "account_type", "com.XXXX.XXXXfyd"
resValue "string", "account_authority", "com.XXXX.XXXXfyd.provider"
buildConfigField "String", "ACCOUNT_NAME", "\"XXXXifyd\""
buildConfigField "String", "ACCOUNT_TYPE", "\"com.XXXX.XXXXifyd\""
buildConfigField "String", "ACCOUNT_AUTHORITY", "\"com.XXXX.XXXXfyd.provider\""
buildConfigField "String", "XXXFYD_XXXX_URI", "\"https://com.XXXX.XXXXfyd.XXXXXes.com\"";
buildConfigField "String", XXXXXFYD_XXXX_URI", "\"XXXX://[email protected]:XXXX\""
}
debug {
/* zipAlignEnabled true
minifyEnabled false*/
debuggable true
applicationIdSuffix ".debug"
signingConfig signingConfigs.debug
versionNameSuffix "-debug-build." + getDate()
}
}
productFlavors {
dev {
minSdkVersion 19
}
prod {
minSdkVersion 17
}
}
相关问题
- 1. 使用不同的VersionCode进行调试/发布android gradle build
- 2. 使用不同的DLL进行调试和发布版本
- 3. Android:分发.apk文件进行测试并且不起作用
- 4. ASP.NET MVC:使用不同的数据库进行调试/发布
- 5. 使用不同的资产进行调试和发布
- 6. find_package同时用Visual Studio进行调试和发布
- 7. 使用android studio进行单元测试时运行哪个测试
- 8. Android Studio:使用radioButtons进行测验
- 9. 使用bash进行并行测试
- 10. 使用Android Studio运行junit测试
- 11. 使用特定的资源进行android测试
- 12. 如何发布npm包进行测试?
- 13. 使用Mockito进行测试
- 14. 在Android Studio中使用Firebase进行JUnit测试
- 15. 在Android Studio中使用Mockito进行本地单元测试
- 16. 使用Visual Studio测试框架进行C++单元测试
- 17. Xcode iOS - 使用相同资源的多个测试失败 - 如何使用1资源进行多项测试?
- 18. 测试来源不可用vs 2010
- 19. Android:是否可以使用相同的证书进行调试和发布
- 20. 使用RxJava进行Android测试2
- 21. 使用Dagger进行Android功能测试
- 22. 使用ContentProviders进行Android单元测试
- 23. 使用触发器进行Rails测试
- 24. 我可以使用SOAPUI进行并发测试吗?
- 25. HTC VIVE开发者如何共享相同的空间并使用不同的Vive设置进行测试?
- 26. Android Studio 3.0预览版缺少'使用相同设备进行未来发布'复选框
- 27. 使用Selenium Grid进行并行测试(使用C#单元测试)
- 28. 行家:运行相同的测试进行不同的配置
- 29. 使用mod_rewrite进行不同设计的拆分测试
- 30. 使用不同的数据库进行npm测试阶段
到目前为止您尝试过什么? – Amy
@Amy我知道我可以使用buildConfigField来存储变量。但是这种方法不允许我为不同的风味和构建类型使用不同的值。对于示例版本,构建类型将始终指向单个url(无论风格是分段还是实时)。我希望这些网址能够根据buildType以及风格而有所不同。 – Lilylakshi