2015-09-26 40 views
0

我已經在build.grade中啓用了minifyEnabled true。在Android Studio中使用ProGuard後未找到classes.jar

[...] 
      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$1.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 
[...] 
+0

追蹤蹤跡。所有這些丟失的,被引用的類! –

+0

@ShawnMehen - 謝謝我從你的帖子中得到線索。我正在使用SVGImage庫bita version.That是導致問題。我必須將其包含在我的proguard文件。再次感謝。 –

回答

0

我有同樣的問題,讀某處的解決方法,這一問題,它是禁用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.** 

希望這有助於解決您的問題。

+0

這不會也會禁用proguard嗎? –

+0

@Teifi,我沒有看到這會禁用proguard,但是,當打包apk文件時,它會忽略此類的警告。同時請參閱我正在使用BuildTool 23.0版面對此問題。可能是谷歌可能已經修復了這個最新版本。 –

+0

我只是嘗試升級到23.0.2,但問題仍然存在。我想我會需要禁用minify然後。所以即使禁用了minify,代碼仍然會被混淆? –

相關問題