2011-04-04 89 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

(虽然它的工作)。