ProGuard не компилировался с Joda Time, используемым в Windows

На самом деле это ответ, а не вопрос: я провел много часов в Windows, используя JodaTime, чтобы включить его в свой проект Android с помощью ProGuard.

Конфигурация Прогарда:

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

У меня были следующие ошибки:

  1. ProGuard не нашел мой JAR и сказал:

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

    Решение

    -libraryjars libs/joda-time-2.1.jar

  2. ProGuard не хотел компилироваться и выдал много строк ошибок, таких как эта:

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

    Решение

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

    -dontwarn org.joda.convert.FromString

    -dontwarn org.joda.convert.ToString


person user1013443    schedule 24.12.2012    source источник
comment
между прочим, в простом приложении -dontwarn и -libraryjars приводят к одинаковому размеру файла APK, и оба APK работают. Так что игнорирование в данном случае нормально. Кроме того, добавление дополнительного файла jar не увеличивает размер вывода (не должно - я просто подтверждаю для будущих читателей)   -  person Richard Le Mesurier    schedule 27.10.2013


Ответы (1)


Или как решение проблемы 2. вы можете добавить реализацию, включенную в joda-convert-xxx.jar. Его можно найти на главной странице joda-convert.

Затем просто добавьте следующую строку в конфигурацию proguard:

-libraryjars YOUR_DIR_WITHS_JARS/joda-convert-1.3.1.jar
person Michal Harakal    schedule 19.05.2013