1. 程式人生 > >Android Studio出現Can't process class [com/tencent/wxop/stat/al.class]

Android Studio出現Can't process class [com/tencent/wxop/stat/al.class]

最近在一個eclipse移植到Android Studio的專案出現了以下非常難解決的錯誤!
錯誤如下:

Can't process class [com/tencent/wxop/stat/a.class](Unknown verification type [95] in stack map frame)

查了好多方法,谷歌什麼的都看了,最後只有以下能解決,過程非常複雜。

以下解決的方法為轉載!

  1. 檢視自己android studio安裝目錄下的gradle/m2repository/net/sf/proguard/proguard-base 檢視自己當前對應的proguard版本
    2.去官網https://sourceforge.net/projects/proguard/files/proguard/下載對應的版本。
    3.下載proguard後解壓,在src/proguard/classfile檔案當中找到原始碼的ClassConstant.java類,然後將ATTR_StackMapTable 的值修改成 “dummy”(原值為StackMapTable)
    4.因為下載的proguard原始碼裡面沒有ant檔案、proguard-android.txt、proguard-android-optimize.txt、proguard-project.txt檔案,所以需要到自己的sdk裡面tools/proguard/下所需檔案複製過來。
    5.使用ant從新打包proguard。ant打包可參考
    http://glblong.blog.51cto.com/3058613/1536516
    注:下載的proguard原始碼裡有個build或buildscripts資料夾,統一改成build。
    6.將打包好後的proguard 把sdk中原本的proguard資料夾替換掉 注:如果害怕出問題的童鞋可以把原來的proguard資料夾事先拷貝出一份
    7.替換好proguard後 重啟android studio,從新打包,到了這裡有的童鞋可能已經可以了正常打包了。但是可能有的還是會出現同樣的問題。出問題的可以繼續往下看了。
    8.接下來請看圖文 首先在工程目錄下建立一個proguard的資料夾,然後將自己打包的proguard/lib/下的proguard.jar拷貝到proguard資料夾裡面

在這裡插入圖片描述

然後在build.gradle裡面進行引用 對應的版本
在這裡插入圖片描述
最後回到android stuido安裝目錄下的gradle/m2repository/net/sf/proguard/proguard-base下對應的proguard版本的檔案中,用proguard/lib下的proguard.jar將其中的proguard-base-x.x.jar給替換掉,重啟android studio,大功告成。