2012-12-24 2 views
8

Eigentlich ist dies eine Antwort und keine Frage mehr: ich viele Stunden unter Windows mit JodaTime verbracht habe in meinem Android-Projekt aufgenommen werden ProGuard mitProGuard kompilieren den Ball hielt mit Joda Zeit in Windows verwendet

Proguard Konfiguration:

-libraryjars C:\Users\Reto\Documents\GitHub\advanceIT\LoveClockPAY\libs\joda-time-2.1.jar 

ich hatte folgende Fehler:

  1. ProGuard nur knapp sein Ziel meiner JAR und sagte zu finden:

    Can't read [C:\Users\Reto\Documents\GitHub\advanceIT\LoveClockPAY\libs\joda-time-2.1.jar] (No such file or directory)

    Lösung

    -libraryjars libs/joda-time-2.1.jar

  2. ProGuard nur knapp sein Ziel wollen kompilieren und viele Linie von Fehlern wie folgt geworfen:

    Warning: org.joda.time.base.AbstractDuration can't find referenced class org.joda.convert.ToString

    Lösung

    # Exclude those 2 dependency classes, cause otherwise it wont compile

    -dontwarn org.joda.convert.FromString

    -dontwarn org.joda.convert.ToString

+0

FWIW auf eine einfache Anwendung, die '-dontwarn' &' -libraryjars' Ergebnis in der gleichen APK Dateigröße, und beide APKs funktionieren. In diesem Fall zu ignorieren ist in Ordnung. Außerdem erhöht das Hinzufügen der zusätzlichen JAR-Datei nicht die Ausgabegröße (es sollte nicht - ich bestätige nur für zukünftige Leser) –

Antwort

4

oder alternativ als Lösung für Problem 2 können Sie eine Implementierung hinzufügen, die in joda-convert-XXX.jar. Es kann on the joda-convert homepage

Dann fügen Sie einfach eine folgende Zeile in Ihre proguard Konfiguration zu finden:

-libraryjars YOUR_DIR_WITHS_JARS/joda-convert-1.3.1.jar