Ant + Proguard предоставляет ошибки android-support-v4.jar

При построении проекта с использованием ANT 1.8.2 и proguarg 4.8.1

 [proguard] Unexpected error while evaluating instruction:
 [proguard]   Class       = [android/support/v4/view/AccessibilityDelegateCompat$AccessibilityDelegateJellyBeanImpl]
 [proguard]   Method      = [newAccessiblityDelegateBridge(Landroid/support/v4/view/AccessibilityDelegateCompat;)Ljava/lang/Object;]
 [proguard]   Instruction = [18] areturn
 [proguard]   Exception   = [java.lang.IllegalArgumentException] (Can't find any super classes of [android/support/v4/view/AccessibilityDelegateCompatIcs$1] (not even immediate super class [android/view/View$AccessibilityDelegate]))
 [proguard] Unexpected error while performing partial evaluation:
 [proguard]   Class       = [android/support/v4/view/AccessibilityDelegateCompat$AccessibilityDelegateJellyBeanImpl]
 [proguard]   Method      = [newAccessiblityDelegateBridge(Landroid/support/v4/view/AccessibilityDelegateCompat;)Ljava/lang/Object;]
 [proguard]   Exception   = [java.lang.IllegalArgumentException] (Can't find any super classes of [android/support/v4/view/AccessibilityDelegateCompatIcs$1] (not even immediate super class [android/view/View$AccessibilityDelegate]))

BUILD FAILED
E:\adt-bundle-windows\sdk\tools\ant\build.xml:864: java.lang.IllegalArgumentException:     Can't find any super classes of [android/support/v4/view/AccessibilityDelegateCompatIcs$1] (not even immediate super class [android/view/View$AccessibilityDelegate])

android-support-v4.jar находится в зависимости от пути к классу и проекта... От Eclipse все but debug версия построена в порядке. Муравей отображает эти ошибки...

Как избежать этого? Я понимаю если Eclipse строит это нормально, то Ant надо строить тоже..

PS Мой проект - цель для Android-10, и я не хочу и не могу сделать его целью-16, если кто-то посоветует...

2 ответа

Как насчет того, чтобы попытаться добавить их в ваш proguard.cf?

-libraryjars   libs/android-support-v4.jar
-dontwarn android.support.v4.**    
-keep class android.support.v4.** { *; }  
-keep interface android.support.v4.app.** { *; }  
-keep public class * extends android.support.v4.**  
-keep public class * extends android.app.Fragment

Вы должны указать целевой SDK в вашем project.properties в этом случае он содержит "android.view.View$AccessibilityDelegate" (уровень SDK 14 или выше). Для сжатия / оптимизации / обфускации в ProGuard требуется как минимум тот же базовый SDK, который использовался для компиляции приложения и его библиотек. Библиотека поддержки была скомпилирована с этим более новым SDK, поэтому ProGuard также нуждается в этом.

Вы по-прежнему можете указать другой целевой / мин / макс SDK в вашем AndroidManifest.xml, для запуска приложения. Конечно, вы должны убедиться, что приложение действительно совместимо с указанными SDK.

Другие вопросы по тегам