Использование типов сборки в Gradle для запуска того же приложения, которое использует ContentProvider на одном устройстве
Я настроил Gradle для добавления суффикса имени пакета в мое отладочное приложение, чтобы у меня была версия выпуска, которую я использую, и отладочная версия на одном телефоне. Я ссылался на это: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Types
Мое телосложение.файл gradle выглядит следующим образом:
...
android
{
...
buildTypes
{
debug
{
packageNameSuffix ".debug"
versionNameSuffix " debug"
}
}
}
Все работает нормально, пока я не начну использовать ContentProvider в своем приложении. Я получаю:
Failure [INSTALL_FAILED_CONFLICTING_PROVIDER]
Я понимаю, что это происходит потому, что два приложения (release и debug) регистрируются же ContentProvider authority.
Я вижу одну возможность решить эту проблему. Если я правильно понимаю, вы должны быть в состоянии указать различные файлы для использования при построении. Затем я должен быть в состоянии поместить разные полномочия в разные файлы ресурсов (и из Манифеста установить полномочия как строковый ресурс) и сказать Gradle использовать разные ресурсы для отладки сборки. Разве это возможно? Если да, то любые намеки на то, как этого достичь, были бы потрясающими!
Или, может быть, это возможно чтобы напрямую изменить манифест с помощью Gradle? Любое другое решение о том, как запустить одно и то же приложение с ContentProvider на одном устройстве, всегда приветствуется.
Comments