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.