/ / Odstraňovanie anotácií XML z tried Android pomocou Proguard - java, android, gralov, gson, proguard

Odstránenie anotácií XML z tried Android pomocou programu Proguard - java, android, gralay, gson, proguard

Mám projekt nastavený v systéme Android Studio, ktorý sa spolieha na jar súbor importovaný zo vzdialeného úložiska od spoločnosti Gradle. To znamená, že nie je priečinok "/ libs".

Tento jar súbor obsahuje veľa objektov JAXB s poznámkami xml, ktoré vyzerajú takto:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Accounts", propOrder = {
"account"
})

Avšak na strane Android používam Gsonserializovať tieto objekty. Nemyslel som si, že tieto poznámky by boli problémom, ale Gson ich deteguje prostredníctvom reflexie. Chcel by som ich odstrániť pomocou programu ProGuard, ale nemám tušenie, kde začať, alebo ak je to možné.

Myslím, že v mojom prípade chcem použiť vlajku -libraryjarsale neviem, ako získať dynamickú cestu k súboru na jar, ktorý importoval program Gradle. Dokumentácia pre používanie ProGuard pre Android zatiaľ nebola veľmi užitočná.

odpovede:

0 pre odpoveď č. 1

Dokumentácia so systémom Android vysvetľuje, ako povoliť program ProGuard vo vašich zostavách (Ant, Eclipse alebo Gradle). Akonáhle je povolené:

  1. Proguardova zmenšujúca úroveň odstraňuje anotácie, ak sa v kóde nevyjadrujú. Ak Gson používa anotácie, pravdepodobne nebude odstránený.

  2. Odstránenie kroku zablokovania programu ProGuard všetko anotácie v predvolenom nastavení, pokiaľ konfigurácia neurčuje:

    -keepattributes *Annotation*
    

    Globálny konfiguračný súbor v súprave Android SDK, android-sdk/tools/proguard/proguard-android.txt, obsahuje tento riadok, pretože väčšina vývojárov chce zachovať anotácie. Ak to komentujete, všetky anotácie budú odstránené.