Ändern der string-Ressource, die durch Geschmack / debug-build
Sagen wir, wir haben strings_test.xml-speichert string-Werte für die Prüfung und gezeigt werden soll, in einer debug-Version. Wenn die apk bekommt build als release-version sollten alle Werte sich ändern, um eine leere Zeichenfolge, z.B. <string name="test_some_card_text">@string/empty</string>
.
Gibt es eine Möglichkeit, dies zu erreichen?
Wie immer, vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, Sie können tun, dass in Ihrem app gradle unter buildTypes..
Wie diese.
Für bauen, müssen Sie auswählen, dass
build variants
- und aufbauen müssen.Ja, Gradle ermöglicht das überschreiben strings.
Fügen Sie diese innerhalb buildTypes{} in Ihre app/build.gradle
Debuggen {
applicationIdSuffix "debug"
}
Sollte erstellen Sie ein Verzeichnis mit dem Titel
debug
nebenmain
. Wenn nicht, dann manuell erstellen. (Im ernst, ich habe nicht versucht, aber ich weiß, das ist möglich.)Dann, wenn Sie Ihre
strings_test.xml
ist unterres/values
, ähnlichen Verzeichnis-Struktur unter debug/und setzen Sie Ihre strings_text.xml mit debug-spezifischen Zeichenfolgen gibt. Dies wird zeigen, bis in Ihrem debug-build. Die, die unter Version/main/res/Werte wird zeigen, bis in Ihre release-build.PS: können Sie überschreiben alle res-und asset-Daten, wie dies nach buildTypes und Geschmack. Sie können nicht überschreiben Java-Dateien, aber Sie könnten jedoch hinzufügen Sie.
Als @Aditya Naik sagte, es ist möglich, mit Aromen.
Offizielle doc sagt
für weitere Informationen besuchen Sie Offizielle doc - Ressource Zusammenführen
Ist es nicht möglich, ändern Sie den string-Wert nach der Erstellung des apk.
Aber Sie können assing den Wert text oder edittext ... etx dynamisch nach der Erstellung des apk.
Für diejenigen, die hierher kommen, suchen nach einem Weg, einen ähnlichen Methode zu
raw
Ressourcen, beschäftigte ich mich mitbuildConfigField
.Achten Sie auf die Anführungszeichen. Danach setzen
BuildConfig.shared_resource_name
in den Dateien, woR.raw.resource_value
verwendet, um direkt zugegriffen werden.Diese können verwendet werden, um andere Ressourcen, die ich denke.