我正在构建一个使用Android库作为主要代码源的应用程序。然后我有多个使用该库的应用程序;这些应用程序将具有相同的代码,但具有不同的配置字段,例如端点等。
为了实现这一目标,我想我的库buildConfigField
文件中可以有一个build.gradle
,然后在我的应用build.gradle
中覆盖该值使用相同的名称,如下所示:
build.gradle:
buildConfigField "String", "API_BASE_URL", "\"http://arandomapibaseurl.com\""
在app中build.gradle:
buildConfigField "String", "API_BASE_URL", "\"http://myrealapi.com\""
关于如何实现这一目标的任何想法?
谢谢!
答案 0 :(得分:9)
不幸的是,您无法覆盖构建配置。您可以覆盖使用resValue
指定的资源值。该应用程序可以覆盖库,而不是相反。你只需要一个上下文来将它们拉出来,你可以在app启动时将它们粘贴到一个java对象中,你可以将它作为一个单独的东西或其他任何东西共享。
我过去经常使用这个技巧让应用程序拉入库并覆盖其默认值。你可以阅读它here。