Wie man eine Ressource Wert in der build.gradle?

Den resValue - Methode (oder wie das heißt) können Sie set eine Ressource Wert in buildTypes oder productFlavors. Gibt es einen entsprechenden Weg zu bekommen eine Ressource Wert, der festgelegt wurde, durch resValue?

Scheint es, dass productFlavors bewertet, bevor buildTypes, so ein resValue set in buildTypes Vorrang. Ich möchte anfügen, "Debug", um den app-Namen in debug-builds, aber ich brauche, um den Wert, der festgelegt wurde, in das Produkt, Geschmack in Ordnung, um Sie anzuhängen.

Edit: ich habe versucht, Marcin Koziński Vorschlag zu, eine variable zu verwenden, aber alle Produkt Aromen ausgewertet werden, bevor alle bauen geben. Daher funktioniert das nicht:

android {
    String appName = ""

    productFlavors {
        Foo {
            appName = "Foo"
        }

        Bar {
            appName = "Bar"
        }
    }

    buildTypes {
        release {
            resValue "string", "app_name", appName 
        }

        debug {
            resValue "string", "app_name", appName + " Debug"
        }
    }
}

In buildTypes, appName hat immer den Wert aus der letzten Produkt Geschmack. Also in diesem Beispiel werden alle builds erhalten den Namen "Bar" oder "Bar Debug".

Im Grunde, ich brauche eine resValueSuffix Analog zu applicationIdSuffix. Offenbar kein solches Tier existiert. Hat die com.android.application - plugin aussetzen, alles, was ich verwenden könnte, um dies zu erreichen?

  • stackoverflow.com/questions/17275461/...
  • Das Q&A über Ressourcen von strings.xml. Meine Ressource erstellt, mit resValue.
  • Ist app_name verwendet in der app neben der manifest?
  • Nope..
  • Es ist ein Weg, können Sie es mit manifest-Platzhalter, siehe meine Antwort unten.
Schreibe einen Kommentar