Wie man den Ordner res res von den Grapple Build Flavors ausschließt?

9

Ich habe die Anforderung, einen bestimmten Ordner res aus einer Geschmacksrichtung zu entfernen.

%Vor%

Aber immer noch Drawable-MDPI-Ordner kommt in die apk.

Also könnte jemand bitte angeben, welchen Fehler ich mache.

Danke Vivek

    
vivek 21.10.2015, 15:39
quelle

2 Antworten

4

Ich habe dieses Problem endlich gelöst!

Ich habe diesen Link gefunden.

Und das tat:

  1. fügen Sie eine XML-Datei zum res / row-Ordner hinzu. Ich habe es resources_discard.xml genannt, hier ist es:

    %Vor%
  2. Diese Datei befindet sich in einer korrekten Verzeichnisstruktur für meinen Geschmack namens lite "scr / lite / res / raw"

Auf diese Weise ist der Inhalt des res / hd-Ordners nicht in den Lite-Builds enthalten, wodurch meine Lite-Build-APK-Größe effektiv um 50% reduziert wird

UPD: Um einige Bilder aus verschiedenen Geschmacksrichtungen auszuschließen, müssen Sie die Bilder im Ordner "Assets" ablegen und in Gradle deklarieren:

%Vor%

Ich habe auch gelernt, dass Sie keine Unterordner in / row Ordner haben können.

    
lxknvlk 09.08.2017 04:42
quelle
0

Sie könnten versuchen, Splits zu verwenden.

Beispiel (direkt von der Android-SDK-Webseite):

%Vor%

Wenn das nicht funktioniert, könnten Sie Ihre res / MDPI und den Rest der res / Density-Ordner in zwei separate Module (nennen wir sie, layoutMdpi und layoutAll) trennen. Beide Module müssen denselben Paketnamen haben, so dass ihre R-Klassen identisch und austauschbar sind (im Wesentlichen das gleiche wie zwischen den verschiedenen Versionen des Android-SDK). Erstellen Sie dann mindestens zwei spezifische Abhängigkeitskonfigurationen für Ihre Varianten, eine für diejenigen, die MDPI verwenden sollten, und eine für diejenigen, die dies nicht tun sollten.

%Vor%

Und da MDPI-Ressourcen in layoutAll nicht vorhanden sind, können Sie jetzt loslegen.

    
Fco P. 15.08.2017 05:36
quelle