2012-12-24 10 views
8

Thực ra đây là một câu trả lời và không phải là một câu hỏi nữa: tôi đã dành nhiều giờ trên Windows sử dụng JodaTime được đưa vào dự án Android của tôi sử dụng ProGuardProGuard didnt biên dịch với Joda Thời gian sử dụng trong Windows

Proguard Cấu hình:

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

tôi có các lỗi sau đây:

  1. ProGuard didnt tìm JAR tôi và nói:

    0.123.

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

    Giải pháp

    -libraryjars libs/joda-time-2.1.jar

  2. ProGuard didnt muốn biên dịch và ném nhiều dòng lỗi như thế này:

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

    Giải pháp

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

    -dontwarn org.joda.convert.FromString

    -dontwarn org.joda.convert.ToString

+0

fwiw trên một ứng dụng đơn giản, '-dontwarn' &' kết quả -libraryjars' trong kích thước tập tin APK cùng, và cả hai APK hoạt động. Vì vậy, bỏ qua trong trường hợp này là tốt. Ngoài ra, việc thêm tệp jar bổ sung không làm tăng kích thước đầu ra (không nên - tôi chỉ xác nhận cho người đọc trong tương lai) –

Trả lời

4

Hoặc cách khác là giải pháp cho vấn đề 2. bạn có thể thêm một thực hiện bao gồm trong Joda-convert-xxx.jar. Nó có thể được tìm thấy on the joda-convert homepage

Sau đó, chỉ cần thêm một dòng sau vào cấu hình Proguard của bạn:

-libraryjars YOUR_DIR_WITHS_JARS/joda-convert-1.3.1.jar