2011-04-04 32 views
21

Folks, 我有Android應用程序,它目前有1條警告,位於由Google新提供的應用內購買代碼一部分的IMarketBillingService.java文件的第80行。該警告顯示如下:如何禁用派生的IMarketBillingService.java文件中的eclipse警告?

方法getInterfaceDescriptor()從類型IMarketBillingService.Stub.Proxy從未局部

使用該文件是一個衍生文件,並且可以不被編輯。

我意識到我可能會忽略這個警告;不過,我喜歡讓我的項目沒有錯誤和警告。我覺得這是一個有用的原則,尤其是在與分佈式團隊合作時。

有人可以告訴我如何使用eclipse禁用/忽略此警告?

謝謝。

回答

6

從這個警告我認爲該方法是一個私人的方法,對不對?如果你不能編輯文件,這意味着你不能添加@SuppressWarnings指令,我不認爲你可以禁用這個。

(您可以在Eclipse改變警告設置,但我不認爲你想要的:))

+0

這是一個生成私有靜態類的公共方法....所以是的,我不認爲我可以禁用這個。 – esilver 2011-04-05 01:13:58

+0

請參閱下面的pradeepmcl的答案,其中包含對此問題最正確的解決方案。 – Syntax 2013-02-05 04:46:19

1

你可以把一個什麼也不做線在你的應用程序(假定該方法返回一個字符串)像

String junk = yourInterfaceName.getInterfaceDescriptor(); 

這可能做到這一點,但你可能會得到一個「垃圾未使用」的警告,你可能然後使用@SuppressWarnings指令。

就我個人而言,我可以接受最初的警告,並讓團隊的其他成員知道'這個構建生成了x個警告並且沒有更多'。

+0

此警告僅出現在本地/私人會員中。 – MByD 2011-04-04 21:39:28

+1

@MByD - 嗯,實際上它是在自動生成的文件中作爲'public',但它的行爲就像它是私有的。我認爲,除非'gen'文件夾中的方法也在關聯的.aidl文件中定義,否則它不在其餘代碼的範圍內。所以看起來你原則上是正確的,你不能調用.getInterfaceDescriptor() – NickT 2011-04-04 22:06:08

18

當心蝕補丁Bug ID 220928。您可以在gen目錄運行時禁止所有警告。

+13

現在在Juno中可用。通過右鍵單擊源根目錄並選擇「屬性」來完成。然後,對於「

屬性」對話框的Java編譯器部分,會出現一個「忽略可選編譯問題」複選框,您會檢查該對話框。 – 2013-01-02 05:52:29

+0

任何方式在Eclipse 3.7中做到這一點? – dfrankow 2013-02-21 23:07:51

+1

@dfrankow右鍵單擊gen目錄的Properties,Java Compiler。忽略可選的編譯器問題。 – 2013-03-26 11:13:00

1

您可以在本地禁止警告。只需點擊問題窗格中的下拉菜單,然後點擊「配置內容」。然後選擇「顯示與下面選中的任何配置相匹配的項目」,並檢查所有項目。修改標題爲「項目中的錯誤/警告」並將範圍更改爲包含除gen文件夾以外的所有文件夾和文件的新工作集。

希望這會有所幫助!

8

朱諾的,去文件夾的屬性,並選擇忽略可選編譯問題。 查看有關錯誤here的更廣泛說明。

enter image description here

0

最合適的解決辦法可能是與iabHelper沿IInAppBillingService.aidl移動到引用庫項目,而忽略未使用的私有成員那裏,reference

像這樣可以擺脫警告,同時仍然在實際項目中通知未使用的私人成員。目前有ignore optional compile problems啓用gen

(雖然它的工作)。