Использование типов сборки в Gradle для запуска того же приложения, которое использует ContentProvider на одном устройстве

Я настроил Gradle для добавления суффикса имени пакета в мое приложение отладки, чтобы у меня могла быть выпущенная версияиспользую и отлаживаю версию на одном телефоне. Я ссылался на это:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Types

Мой файл build.gradle выглядит так:

...
android
{
    ...
    buildTypes
    {
        debug
        {
            packageNameSuffix ".debug"
            versionNameSuffix " debug"
        }
    }
}

Все работает нормально, пока я не начну использовать ContentProvider в своем приложении. Я получил:

Failure [INSTALL_FAILED_CONFLICTING_PROVIDER]

Я понимаю, что это происходит потому, что два приложения (выпуск и отладка) регистрируют одинаковые полномочия ContentProvider.

Я вижу одну возможность решить эту проблему. Если я правильно понимаю, вы сможете указать разные файлы для использования при сборке. Тогда я смогу поместить разные права доступа в разные файлы ресурсов (и из Манифеста установить полномочия в качестве строкового ресурса) и сказать Gradle использовать разные ресурсы для отладочной сборки. Это возможно? Если да, то любые намеки на то, как этого добиться, были бы потрясающими!

Или, может быть, этоМожно ли напрямую изменить манифест с помощью Gradle? Любое другое решение о том, как запустить одно приложение с ContentProvider на одном устройстве, всегда приветствуется.

Ответы на вопрос(14)

Ваш ответ на вопрос