Verwenden von Build-Typen in Gradle zum Ausführen derselben App, die ContentProvider auf einem Gerät verwendet

Ich habe Gradle so eingerichtet, dass der Debug-App ein Paketnamensuffix hinzugefügt wird, damit ich die von mir verwendete Release-Version verwenden und die Version auf einem Telefon debuggen kann. Ich bezog mich darauf:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Types

Meine build.gradle-Datei sieht folgendermaßen aus:

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

Alles funktioniert einwandfrei, bis ich mit der Verwendung eines ContentProviders in meiner App beginne. Ich bekomme:

Failure [INSTALL_FAILED_CONFLICTING_PROVIDER]

Ich verstehe, dass dies passiert, weil zwei Apps (Release und Debug) dieselbe ContentProvider-Berechtigung registrieren.

Ich sehe eine Möglichkeit, dies zu lösen. Wenn ich das richtig verstehe, sollten Sie in der Lage sein, verschiedene Dateien anzugeben, die beim Erstellen verwendet werden sollen. Dann sollte es mir möglich sein, verschiedene Berechtigungen in verschiedene Ressourcendateien zu legen (und von Manifest aus Berechtigungen als Zeichenkettenressource festzulegen) und Gradle anzuweisen, unterschiedliche Ressourcen für die Debug-Erstellung zu verwenden. Ist das möglich? Wenn ja, dann wäre ein Hinweis darauf, wie dies erreicht werden kann, großartig!

Oder ist es möglich, Manifest mit Gradle direkt zu ändern? Jede andere Lösung, wie dieselbe App mit ContentProvider auf einem Gerät ausgeführt werden kann, ist immer willkommen.

Antworten auf die Frage(14)

Ihre Antwort auf die Frage