J'ai configuré Gradle pour ajouter un suffixe de nom de package à mon application de débogage afin d'avoir une version de mise en production que j'utilise et une version de débogage sur un seul téléphone. Je faisais référence à ceci : http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Types
Mon fichier build.gradle ressemble à ceci :
...
android
{
...
buildTypes
{
debug
{
packageNameSuffix ".debug"
versionNameSuffix " debug"
}
}
}
Tout fonctionne bien jusqu'à ce que je commence à utiliser un ContentProvider dans mon application. Je reçois :
Failure [INSTALL_FAILED_CONFLICTING_PROVIDER]
Je comprends que cela se produit parce que deux applications (mise en production et débogage) enregistrent la même autorité de ContentProvider.
Je vois une possibilité pour résoudre cela. Si je comprends correctement, vous devriez pouvoir spécifier différents fichiers à utiliser lors de la construction. Ensuite, je devrais pouvoir mettre différentes autorités dans différents fichiers de ressources (et à partir du Manifeste définir l'autorité comme ressource de chaîne) et dire à Gradle d'utiliser une ressource différente pour la construction de débogage. Est-ce possible ? Si oui, des conseils sur la façon d'y parvenir seraient géniaux !
Ou peut-être est-il possible de modifier directement le Manifeste en utilisant Gradle ? Toute autre solution pour exécuter la même application avec ContentProvider sur un seul appareil est toujours la bienvenue.