Proguard:Android Studio:找不到符号 class ErrorListener、方法、ImageCache
Proguard: Android Studio: cannot find symbol class ErrorListener, Method, ImageCache
我是 Proguard 的新手,我正在我的应用程序中实现它
App->Module1->ApIManager->Volley是依赖图
我正在使用 Grale。没有 Proguard 一切都运行良好。但是,对于 Proguard,我在三个 class 用途上得到了上面的错误。
我注意到所有这些都在 com.android.volley 下并且是接口
我的 APImanager 和 volley Proguard.cfg 是
-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>;
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
#---------------------------------------------------------------------------------------------
-renamesourcefileattribute SourceFile
-keepattributes Signature,SourceFile,LineNumberTable
-keep interface com.android.volley.Response$ErrorListener { *; }
-keep interface com.android.volley.toolbox$ImageLoader { *; }
-keep interface com.android.volley.Request$Method { *; }
-keep public class * extends android.app.Application
-keep class android.support.v4.app.** { *; }
-keep class com.actionbarsherlock.** { *; }
-keep class com.android.volley.** { *; }
-keepattributes *Annotation*
-dontwarn org.apache.**
-keep class org.apache.commons.logging.**
构建错误:
:volley:transformClassesAndResourcesWithSyncLibJarsForRelease
:volley:mergeReleaseJniLibFolders UP-TO-DATE
:volley:transformNative_libsWithMergeJniLibsForRelease UP-TO-DATE
:volley:transformNative_libsWithSyncJniLibsForRelease UP-TO-DATE
:volley:bundleRelease
:apimanager:prepareComAndroidSupportAnimatedVectorDrawable2340Library UP-TO-DATE
:apimanager:prepareComAndroidSupportAppcompatV72340Library UP-TO-DATE
:apimanager:prepareComAndroidSupportSupportV42340Library UP-TO-DATE
:apimanager:prepareComAndroidSupportSupportVectorDrawable2340Library UP-TO-DATE
:apimanager:prepareComAndroidVolleyVolleyUnspecifiedLibrary
:apimanager:prepareReleaseDependencies
:apimanager:compileReleaseAidl UP-TO-DATE
:apimanager:compileReleaseRenderscript UP-TO-DATE
:apimanager:generateReleaseBuildConfig UP-TO-DATE
:apimanager:mergeReleaseShaders UP-TO-DATE
:apimanager:compileReleaseShaders UP-TO-DATE
:apimanager:generateReleaseAssets UP-TO-DATE
:apimanager:mergeReleaseAssets UP-TO-DATE
:apimanager:generateReleaseResValues UP-TO-DATE
:apimanager:generateReleaseResources UP-TO-DATE
:apimanager:mergeReleaseResources UP-TO-DATE
:apimanager:processReleaseManifest UP-TO-DATE
:apimanager:processReleaseResources UP-TO-DATE
:apimanager:generateReleaseSources UP-TO-DATE
:apimanager:incrementalReleaseJavaCompilationSafeguard UP-TO-DATE
:apimanager:compileReleaseJavaWithJavac
:apimanager:compileReleaseJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
--Path--\apimanager\APIManager.java
Error:(124, 105) error: cannot find symbol class ErrorListener
Error:(133, 107) error: cannot find symbol class ErrorListener
Error:(50, 32) error: cannot find symbol class ImageCache
Error:(66, 32) error: cannot find symbol class ImageCache
--Path--\apimanager\CategoryRequest.java
Error:(24, 82) error: cannot find symbol class ErrorListener
Error:(25, 15) error: cannot find symbol variable Method
--Path--\apimanager\ProductRequest.java
Error:(32, 80) error: cannot find symbol class ErrorListener
Error:(33, 15) error: cannot find symbol variable Method
:apimanager:compileReleaseJavaWithJavac FAILED
Error:Execution failed for task ':apimanager:compileReleaseJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
Information:BUILD FAILED
代码在没有 proguard 的情况下运行良好,我已经尝试了几乎所有的东西,并且在没有帮助的情况下也经历了很多教程。
在多项目构建中将 ProGuard 应用于库项目时,您应该在 gradle 中使用以下指令指定使用的规则:
consumerProguardFiles('...')
这样它们也将自动包含在消费应用程序项目中,并将应用所需的保留规则。
我是 Proguard 的新手,我正在我的应用程序中实现它
App->Module1->ApIManager->Volley是依赖图
我正在使用 Grale。没有 Proguard 一切都运行良好。但是,对于 Proguard,我在三个 class 用途上得到了上面的错误。
我注意到所有这些都在 com.android.volley 下并且是接口
我的 APImanager 和 volley Proguard.cfg 是
-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>;
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
#---------------------------------------------------------------------------------------------
-renamesourcefileattribute SourceFile
-keepattributes Signature,SourceFile,LineNumberTable
-keep interface com.android.volley.Response$ErrorListener { *; }
-keep interface com.android.volley.toolbox$ImageLoader { *; }
-keep interface com.android.volley.Request$Method { *; }
-keep public class * extends android.app.Application
-keep class android.support.v4.app.** { *; }
-keep class com.actionbarsherlock.** { *; }
-keep class com.android.volley.** { *; }
-keepattributes *Annotation*
-dontwarn org.apache.**
-keep class org.apache.commons.logging.**
构建错误:
:volley:transformClassesAndResourcesWithSyncLibJarsForRelease
:volley:mergeReleaseJniLibFolders UP-TO-DATE
:volley:transformNative_libsWithMergeJniLibsForRelease UP-TO-DATE
:volley:transformNative_libsWithSyncJniLibsForRelease UP-TO-DATE
:volley:bundleRelease
:apimanager:prepareComAndroidSupportAnimatedVectorDrawable2340Library UP-TO-DATE
:apimanager:prepareComAndroidSupportAppcompatV72340Library UP-TO-DATE
:apimanager:prepareComAndroidSupportSupportV42340Library UP-TO-DATE
:apimanager:prepareComAndroidSupportSupportVectorDrawable2340Library UP-TO-DATE
:apimanager:prepareComAndroidVolleyVolleyUnspecifiedLibrary
:apimanager:prepareReleaseDependencies
:apimanager:compileReleaseAidl UP-TO-DATE
:apimanager:compileReleaseRenderscript UP-TO-DATE
:apimanager:generateReleaseBuildConfig UP-TO-DATE
:apimanager:mergeReleaseShaders UP-TO-DATE
:apimanager:compileReleaseShaders UP-TO-DATE
:apimanager:generateReleaseAssets UP-TO-DATE
:apimanager:mergeReleaseAssets UP-TO-DATE
:apimanager:generateReleaseResValues UP-TO-DATE
:apimanager:generateReleaseResources UP-TO-DATE
:apimanager:mergeReleaseResources UP-TO-DATE
:apimanager:processReleaseManifest UP-TO-DATE
:apimanager:processReleaseResources UP-TO-DATE
:apimanager:generateReleaseSources UP-TO-DATE
:apimanager:incrementalReleaseJavaCompilationSafeguard UP-TO-DATE
:apimanager:compileReleaseJavaWithJavac
:apimanager:compileReleaseJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
--Path--\apimanager\APIManager.java
Error:(124, 105) error: cannot find symbol class ErrorListener
Error:(133, 107) error: cannot find symbol class ErrorListener
Error:(50, 32) error: cannot find symbol class ImageCache
Error:(66, 32) error: cannot find symbol class ImageCache
--Path--\apimanager\CategoryRequest.java
Error:(24, 82) error: cannot find symbol class ErrorListener
Error:(25, 15) error: cannot find symbol variable Method
--Path--\apimanager\ProductRequest.java
Error:(32, 80) error: cannot find symbol class ErrorListener
Error:(33, 15) error: cannot find symbol variable Method
:apimanager:compileReleaseJavaWithJavac FAILED
Error:Execution failed for task ':apimanager:compileReleaseJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
Information:BUILD FAILED
代码在没有 proguard 的情况下运行良好,我已经尝试了几乎所有的东西,并且在没有帮助的情况下也经历了很多教程。
在多项目构建中将 ProGuard 应用于库项目时,您应该在 gradle 中使用以下指令指定使用的规则:
consumerProguardFiles('...')
这样它们也将自动包含在消费应用程序项目中,并将应用所需的保留规则。