所以有人告诉我,在Android Studio和最新版本的Android SDK中,我应该可以在我的项目上运行Proguard ,它使用Android Annotations,没有问题。不过,我已经为此奋斗了很多天了。Proguard + Android Annotations:找不到超类或接口javac.annotation.processing.AbstractProcessor
当我试图通过建设 - 运行Proguard的>生成Android Studio中签署APK工具,我得到数百形式的错误:
com.googlecode.androidannotations.annotationprocessor.AnnotatedAbstractProcessor: can't find superclass or interface javax.annotation.processing.AbstractProcessor
com.googlecode.androidannotations.AndroidAnnotationProcessor: can't find referenced method 'void init(javax.annotation.processing.ProcessingEnvironment)' in class com.googlecode.androidannotations.annotationprocessor.AnnotatedAbstractProcessor
我已经与内置的proguard的,Android的尝试自带的SDK,并与一个自定义的,我从Android的注解复制.txt文件,我相信:
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
我也通过gradle这个试着用同样的结果在命令行上。谁能帮我吗?
谢谢埃里克,我有最新版本的AA。我的问题是我有androidannotations-X.Y.jar列为依赖而不是androidannotations-X.Y.-api.jar。 –