1
votes

Comment définir la variante de construction par programme au moment de l'exécution dans Android Studio?

Est-il possible de modifier la variante de build pendant l'exécution par programme dans Android Studio?

J'ai différents environnements de serveur (Release, Debug, Production, Dev, Dev1, Dev2, QA, etc.). Le code lui-même repose sur certaines chaînes, l'initialisation du SDK et les adresses de serveur définies lorsque je choisis ma variante de construction. Ainsi, lorsque je choisis le débogage pour une instance, la chaîne utilise l'adresse du serveur de débogage et le SDK. La même chose pour la libération. Mais que se passe-t-il si je veux pouvoir choisir l'environnement pendant l'exécution?


1 commentaires

avez-vous essayé d'utiliser productFlavors dans des fichiers gradle?. À l'aide de saveurs, vous pouvez choisir le type d'application que vous souhaitez exécuter au moment de la construction. Parallèlement à cela, vous pouvez ajouter une chaîne spécifique qui ne fonctionnera qu'avec ce vairent


4 Réponses :


1
votes

Comme vous pouvez le lire dans le nom " variante de construction ", il est utilisé lors de la construction et non pendant la exécution . Vous ne pouvez pas modifier la variante de construction au moment de l'exécution. Vous devez trouver une autre approche comme une vue de débogage cachée pour modifier vos paramètres lors de l'exécution.


0 commentaires

1
votes

Non, vous ne pouvez le modifier que lors de l'exécution.

Vous pouvez également créer un singleton pour la classe de variantes et créer une liste de variantes.Sélectionnez la variante dans une vue et stockez-la dans le cache et lorsque l'application s'exécute, vous pouvez obtenir cette variante. application


0 commentaires

1
votes

Créez une classe POJO personnalisée pour vos variantes et essayez d'enregistrer la variante souhaitée dans les préférences partagées, puis redémarrez simplement votre application Android. Chargez la valeur dans l'objet Singelton Variant à partir du cache et faites ce que vous voulez faire avec votre application.


0 commentaires

1
votes

Les variantes de construction sont un processus de construction, ce qui signifie que si vous voulez changer la variante de construction de votre apk, vous devrez reconstruire votre projet. Je vois que vous avez besoin de quelque chose qui équivaut à setting.bundles qui est le concept d'iOS. Android n'a pas de tels concepts bien que nous puissions l'implémenter en utilisant Preference ou en utilisant configuration-gérée dans toutes ces implémentations, vous devrez vider le cache de l'application. Je recommanderais de créer une variante de construction générique avec toutes les URL spécifiées et de gérer les configurations au moment de l'exécution


0 commentaires