1

是否可以在 Android Studio 中以编程方式更改构建变体运行时间?

我有不同的服务器环境(Release、Debug、Production、Dev、Dev1、Dev2、QA 等)。代码本身依赖于我选择构建变体时设置的一些字符串、SDK 的初始化和服务器地址。因此,当我为实例选择调试时,字符串会使用调试服务器地址和 SDK。发布也是一样。但是,如果我希望能够在运行时选择环境怎么办?

4

4 回答 4

2

构建变体是一个构建时间过程,这意味着如果您想更改 apk 的构建变体,那么您将不得不重新构建您的项目。setting.bundles我看到您需要与 iOS 概念等效的东西。Android 没有这样的概念,尽管我们可以通过在所有这些实现中使用Preference或使用托管配置来实现它,但您必须清除应用程序缓存。我建议使用所有指定的 URL 创建一个通用构建变体并在运行时处理配置

于 2019-11-25T09:52:42.687 回答
1

为您的 Variants 创建一个自定义 POJO 类,并尝试将所需的 Variant 保存在共享首选项中,然后简单地重新启动您的 android 应用程序。从缓存中加载 Singelton Variant 对象中的值,然后对您的应用程序执行任何您想要执行的操作。

于 2019-11-19T10:21:52.663 回答
1

正如您可以在名称“构建变体”中看到的那样,它在构建时使用,而不是在运行时使用。您不能在运行时更改构建变体。您必须想出另一种方法,例如隐藏调试视图来在运行时更改参数。

于 2019-10-17T10:20:40.063 回答
1

不,您只能更改它的运行时间。

或者,您可以为变体类创建一个单例并创建变体列表。从视图中选择变体并将其存储在缓存中,当应用程序运行时,您可以获得该变体。重新启动您的应用程序

于 2019-11-14T12:44:33.637 回答