classes.jar 在 Android studio 中使用 ProGuard 后未找到

classes.jar not found after using ProGuard in Android studio

我在 build.grade 中启用了 minifyEnabled true。

[...]
            Information:Gradle tasks [:app:assembleRelease]
            Warning:com.caverock.androidsvg.SVGImageView: can't find referenced class com.caverock.androidsvg.R$styleable
            Warning:com.caverock.androidsvg.SVGImageView: can't find referenced class com.caverock.androidsvg.R
            Warning:there were 3 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)
            Exception while processing task 
            java.io.IOException: Please correct the above warnings first.
                at proguard.Initializer.execute(Initializer.java:473)
                at proguard.ProGuard.initialize(ProGuard.java:233)
                at proguard.ProGuard.execute(ProGuard.java:98)
                at proguard.gradle.ProGuardTask.proguard(ProGuardTask.java:1074)
                at com.android.build.gradle.tasks.AndroidProGuardTask.doMinification(AndroidProGuardTask.java:137)
                at com.android.build.gradle.tasks.AndroidProGuardTask.run(AndroidProGuardTask.java:113)
                at com.android.builder.tasks.Job.runTask(Job.java:48)
                at com.android.build.gradle.tasks.SimpleWorkQueue$EmptyThreadContext.runTask(SimpleWorkQueue.java:41)
                at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:227)
                at java.lang.Thread.run(Thread.java:745)
            :app:dexRelease
            :app:validateExternalOverrideSigning
            :app:packageRelease FAILED
            Error:Execution failed for task ':app:packageRelease'.
            > Unable to compute hash of /Users/sanjay/Desktop/android_project/RestaurantApp/app/build/intermediates/classes-proguard/release/classes.jar
            Information:BUILD FAILED
[...]

我遇到了同样的问题,并在某处阅读了解决此问题的方法,它是 禁用 minifyEnabled,生成签名的 APK。

buildTypes {
    release {
        minifyEnabled false
        shrinkResources true
        proguardFiles 'proguard-project.txt'
    }

在将 buildTool 更新到 23.0 之前,我从未遇到过这个问题。

此外,对于这个较新的版本,您需要将其添加到您的 Progaurd.txt file

-keep public class com.google.android.gms.* { public *; }
-dontwarn com.google.android.gms.**

希望这也有助于解决您的问题。