2013-08-21 46 views
2

我試圖使用ProGuard和Eclipse編譯我的應用程序,我收到以下錯誤:找不到類android.webkit.WebSettings參考方法「無效setPluginsEnabled(布爾)」

Warning: com.adsdk.sdk.mraid.AdView: can't find referenced method 'void setPluginsEnabled(boolean)' in class android.webkit.WebSettings 
Warning: com.adsdk.sdk.video.WebFrame: can't find referenced method 'void setPluginsEnabled(boolean)' in class android.webkit.WebSettings 

看來這些類別是depreciated in 4.3similar post in another random forum表明解決方案是將目標更改回17並且針對4.2進行編譯。

當然,這不是唯一的解決方案....?

我已經嘗試添加警告代碼的相關去除和保持類成員等到Proguard配置文件,但無濟於事。

任何想法?

編輯:我不直接在我的代碼中使用這些類 - 它們從AdMob SDK的罐

回答

11

原來是一個很簡單的解決,我引用。您需要添加以下到您的ProGuard配置文件:

-dontwarn android.webkit.** 

我以前曾包括:

-dontwarn android.webkit.WebSettings.** 

但是,這是錯誤的,因爲它有一個方法,而不是一類,我相信。

希望這可以幫助那些可能像我一樣卡住的人。

+0

您還可以使用'-dontwarn android.webkit.WebSettings'來更準確地忽略來自類'Websettings'的警告,而不是包中的所有類'android.webkit.',這是您的第一個選項過濾掉。第二個選項不起作用的原因是因爲您試圖過濾包android.webkit.WebSettings.'中的類,這當然是一個Class而不是一個包。對於任何想知道的人來說,如果你想過濾一個內部類,那麼語法是'Websettings $ Innerclass'。 Proguard文檔絕對難以破譯。 –