Proguard同时Butterknife库和其他警告

我的活动,片段,服务和BroadcastReceivers我想实现ProGuard,以保证课堂安全。 我在Proguard时遇到错误。 我该怎么写入文件? – > proguard-android.txt ve proguard-rules.pro

我写进了年级。

lintOptions { checkReleaseBuilds false // Or, if you prefer, you can continue to check for errors in release builds, // but continue the build even when errors are found: abortOnError false } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } 

 Information:Gradle tasks [:app:assembleRelease] :app:preBuild UP-TO-DATE :app:preReleaseBuild UP-TO-DATE :app:compileReleaseNdk UP-TO-DATE :app:checkReleaseManifest :app:preDebugBuild UP-TO-DATE :app:prepareComAndroidSupportAppcompatV72103Library UP-TO-DATE :app:prepareComAndroidSupportSupportV42103Library UP-TO-DATE :app:prepareComGithubNavasmdcMaterialDesign14Library UP-TO-DATE :app:prepareDeKeyboardsurferAndroidWidgetCrouton185Library UP-TO-DATE :app:prepareReleaseDependencies :app:compileReleaseAidl UP-TO-DATE :app:compileReleaseRenderscript UP-TO-DATE :app:generateReleaseBuildConfig UP-TO-DATE :app:generateReleaseAssets UP-TO-DATE :app:mergeReleaseAssets UP-TO-DATE :app:generateReleaseResValues UP-TO-DATE :app:generateReleaseResources UP-TO-DATE :app:mergeReleaseResources UP-TO-DATE :app:processReleaseManifest UP-TO-DATE :app:processReleaseResources UP-TO-DATE :app:generateReleaseSources UP-TO-DATE :app:compileReleaseJava UP-TO-DATE :app:proguardRelease Warning:butterknife.internal.ButterKnifeProcessor: can't find superclass or interface javax.annotation.processing.AbstractProcessor Warning:com.gc.materialdesign.views.ProgressBarIndeterminate$1$1: can't find superclass or interface com.nineoldandroids.animation.Animator$AnimatorListener Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate$1$1: can't find superclass or interface com.nineoldandroids.animation.Animator$AnimatorListener Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.AbstractProcessor Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.ProcessingEnvironment Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.Filer Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.tools.JavaFileObject Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.RoundEnvironment Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Modifier Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.ElementKind Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeVariable Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeMirror Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeKind Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.ArrayType Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.DeclaredType Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeMirror Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.util.Types Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.ExecutableElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.ElementKind Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.ExecutableElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.ExecutableElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.VariableElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.DeclaredType Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.ElementKind Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeKind Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.SourceVersion Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced field 'javax.annotation.processing.ProcessingEnvironment processingEnv' in program class butterknife.internal.ButterKnifeProcessor Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.ProcessingEnvironment Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.tools.Diagnostic$Kind Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.Messager Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.util.Elements Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.PackageElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.AbstractProcessor Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.RoundEnvironment Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeMirror Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.DeclaredType Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.ExecutableElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.VariableElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.ProcessingEnvironment Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.Filer Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.tools.JavaFileObject Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.RoundEnvironment Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Modifier Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.ElementKind Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeKind Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.util.Types Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.SourceVersion Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.tools.Diagnostic$Kind Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.Messager Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.util.Elements Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.PackageElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.tools.Diagnostic Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.util.Elements Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.util.Types Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.Filer Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.ProcessingEnvironment Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.RoundEnvironment Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.tools.JavaFileObject Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.RoundEnvironment Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.RoundEnvironment Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.RoundEnvironment Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.RoundEnvironment Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Modifier Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeVariable Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeMirror Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.ArrayType Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.DeclaredType Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeVariable Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeMirror Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeMirror Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.RoundEnvironment Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.RoundEnvironment Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.RoundEnvironment Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeVariable Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.VariableElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeMirror Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.ExecutableElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeMirror Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.VariableElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeMirror Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.DeclaredType Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeMirror Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.type.TypeMirror Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.SourceVersion Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement Warning:com.gc.materialdesign.views.ButtonFloat: can't find referenced class com.nineoldandroids.animation.ObjectAnimator Warning:com.gc.materialdesign.views.ButtonFloat$1: can't find referenced class com.nineoldandroids.view.ViewHelper Warning:com.gc.materialdesign.views.ProgressBarIndeterminate$1: can't find referenced class com.nineoldandroids.animation.ObjectAnimator Warning:com.gc.materialdesign.views.ProgressBarIndeterminate$1: can't find referenced class com.nineoldandroids.animation.Animator$AnimatorListener Warning:com.gc.materialdesign.views.ProgressBarIndeterminate$1: can't find referenced class com.nineoldandroids.animation.Animator Warning:com.gc.materialdesign.views.ProgressBarIndeterminate$1: can't find referenced class com.nineoldandroids.animation.ObjectAnimator Warning:com.gc.materialdesign.views.ProgressBarIndeterminate$1$1: can't find referenced class com.nineoldandroids.view.ViewHelper Warning:com.gc.materialdesign.views.ProgressBarIndeterminate$1$1: can't find referenced class com.nineoldandroids.animation.ObjectAnimator Warning:com.gc.materialdesign.views.ProgressBarIndeterminate$1$1: can't find referenced class com.nineoldandroids.animation.Animator$AnimatorListener Warning:com.gc.materialdesign.views.ProgressBarIndeterminate$1$1: can't find referenced class com.nineoldandroids.animation.ObjectAnimator Warning:com.gc.materialdesign.views.ProgressBarIndeterminate$1$1: can't find referenced class com.nineoldandroids.view.ViewHelper Warning:com.gc.materialdesign.views.ProgressBarIndeterminate$1$1: can't find referenced class com.nineoldandroids.animation.ObjectAnimator Warning:com.gc.materialdesign.views.ProgressBarIndeterminate$1$1: can't find referenced class com.nineoldandroids.animation.Animator Warning:com.gc.materialdesign.views.ProgressBarIndeterminate$1$1: can't find referenced class com.nineoldandroids.animation.ObjectAnimator Warning:com.gc.materialdesign.views.ProgressBarIndeterminate$1$1: can't find referenced class com.nineoldandroids.animation.Animator Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate: can't find referenced class com.nineoldandroids.animation.ObjectAnimator Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate: can't find referenced class com.nineoldandroids.view.ViewHelper Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate: can't find referenced class com.nineoldandroids.animation.ObjectAnimator Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate: can't find referenced class com.nineoldandroids.view.ViewHelper Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate: can't find referenced class com.nineoldandroids.animation.ObjectAnimator Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate$1: can't find referenced class com.nineoldandroids.view.ViewHelper Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate$1: can't find referenced class com.nineoldandroids.animation.ObjectAnimator Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate$1: can't find referenced class com.nineoldandroids.view.ViewHelper Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate$1: can't find referenced class com.nineoldandroids.animation.ObjectAnimator Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate$1: can't find referenced class com.nineoldandroids.animation.Animator$AnimatorListener Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate$1: can't find referenced class com.nineoldandroids.animation.Animator Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate$1$1: can't find referenced class com.nineoldandroids.view.ViewHelper Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate$1$1: can't find referenced class com.nineoldandroids.animation.ObjectAnimator Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate$1$1: can't find referenced class com.nineoldandroids.animation.Animator$AnimatorListener Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate$1$1: can't find referenced class com.nineoldandroids.view.ViewHelper Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate$1$1: can't find referenced class com.nineoldandroids.animation.ObjectAnimator Warning:com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate$1$1: can't find referenced class com.nineoldandroids.animation.Animator Warning:com.gc.materialdesign.views.Slider: can't find referenced class com.nineoldandroids.view.ViewHelper Warning:com.gc.materialdesign.views.Slider$Indicator: can't find referenced class com.nineoldandroids.view.ViewHelper Warning:com.gc.materialdesign.views.Switch: can't find referenced class com.nineoldandroids.view.ViewHelper Warning:com.gc.materialdesign.views.Switch$Ball: can't find referenced class com.nineoldandroids.animation.ObjectAnimator Warning:there were 262 unresolved references to classes or interfaces. You may need to add missing library jars or update their versions. If your code works fine without the missing classes, you can suppress the warnings with '-dontwarn' options. (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass) Warning:there were 1 unresolved references to program class members. Your input classes appear to be inconsistent. You may need to recompile the code. (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedprogramclassmember) :app:proguardRelease FAILED Error:Execution failed for task ':app:proguardRelease'. > java.io.IOException: Please correct the above warnings first. Information:BUILD FAILED Information:Total time: 3.296 secs Information:1 error Information:172 warnings Information:See complete output in console 

等级文件和文件作为解决方案Proguard-Rules.pro我更新如下。 不用ProGuard-android.txt文件。

摇篮:

  buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } } 

proguard-rules.pro文件编辑:

 -dontwarn butterknife.internal.** -keep class **$$ViewInjector { *; } -keepnames class * { @butterknife.InjectView *;} -dontwarn butterknife.Views$InjectViewProcessor -dontwarn com.gc.materialdesign.views.** 

jakewharton本人的正式回答: http ://jakewharton.github.io/butterknife/

 -keep class butterknife.** { *; } -dontwarn butterknife.internal.** -keep class **$$ViewBinder { *; } -keepclasseswithmembernames class * { @butterknife.* ; } -keepclasseswithmembernames class * { @butterknife.* ; } 

proguard-rules butterknife:8.8.1 proguard-rules butterknife:8.8.1

  # Retain generated class which implement Unbinder. -keep public class * implements butterknife.Unbinder { public (**, android.view.View); } # Prevent obfuscation of types which use ButterKnife annotations since the simple name # is used to reflectively look up the generated ViewBinding. -keep class butterknife.* -keepclasseswithmembernames class * { @butterknife.* ; } -keepclasseswithmembernames class * { @butterknife.* ; }