J'ai mis en gooeymenu dans un fichier de mise en page:comment Proguard empêcher de tableau de décapage
<com.mschwartz.dailyflightbuddy.ui.GooeyMenu
android:id="@+id/gooeymenu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_below="@id/btn_text_cockpit"
android:layout_centerInParent="true"
android:alpha="0.8"
app:center_drawable="@drawable/ic_settings_white_48dp"
app:hide_on_start="true"
app:itemorientation="LEFT"
app:menu_reference="@array/gooeymenu_command_array" />
Les points de balise menu_reference
à un fichier res/values/array.xml
avec le contenu suivant:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="gooeymenu_command_array">
<item>@drawable/gooey_info_item</item>
<item>@drawable/gooey_zoom_item</item>
<item>@drawable/gooey_center_item</item>
<item>@drawable/gooey_city_item</item>
<item>@drawable/gooey_airport_item</item>
<item>@drawable/gooey_configure_item</item>
</array>
</resources>
Lors de l'exécution dans le débogueur tout fonctionne bien, mais lors de l'exécution de la version de production dépouillée gooeymenu n'affiche aucun élément.
J'ai essayé d'ajouter plusieurs commandes à proguard-rules.pro
dont les suivantes:
-keepclassmembers class com.mschwartz.dailyflightbuddy.R$array {
*;
}
-keepclassmembers class **.R$* {
public static <fields>;
}
mais sans chance jusqu'à présent. Mes questions sont les suivantes:
- Comment puis-je vérifier si les champs ont vraiment été dépouillé de la apk de production ou comment puis-je faire que si un champ (ou une classe/méthode plus commune) est inclus?
- Comment puis-je commander proguard pour ajouter les champs?