我一直在读一些关于变体和构建类型的东西,我不知道我是否理解正确,但是我想要存储一个locahost(测试)的URL,另一个用于生产(在互联网上的实时站点).
我需要根据哪个buildtype来切换它们.这是正确的做法吗?还是有另一种选择?
有没有人有一个小例子?
有没有办法将这些信息存储在我不需要提交到源代码管理的文件中?我正在使用gradle.properties文件存储一些用于签名的密码.这个功能很好,因为这个文件我不分享版本控制.
我有点困惑使用正确的方法和如何实现它.
有任何想法吗?
解决方法
您可以使用BuildConfig为每个BuildType提供不同的URL
buildTypes { debug { buildConfigField "String","SERVER_URL",'"http://someurl/"' } release{ buildConfigField "String",'"http://someotherurl/"' } }
每次将项目与gradle文件同步时,BuildConfig将自动生成.
在您的代码中,您可以访问这样的URL:
BuildConfig.SERVER_URL
如果您不想提交这些URL,您可以将它们存储在gradle.properties中,就像您的密码一样,并在build.gradle中引用它们.
buildConfigField "String",serverurl.debug