我尝试导入com.android.vending.billing.IMarketBillingService。但我得到了错误:
The import com.android.vending.billing.IMarketBillingService cannot be resolved.
我有另一个项目,我做同样的事情,它完美地工作。我将应用内购买所需的文件复制到新项目中。这意味着数据必须正确。 (我更换了包名)我多次检查我忘了上课。几天前,我为同事复制了文件,但也可以。
我也尝试过清理和清理项目。
答案 0 :(得分:27)
我通过取消选中项目属性中的所有构建器来修复此问题,单击“确定”,然后再次检查它们并单击“确定”。非常感谢,Google!
答案 1 :(得分:6)
我也有同样的问题。我发现在任何应用程序内的任何计费来源之前放入.aidl会生成.java。
当您尝试在创建之前引用该.java文件时,您的项目将包含错误。因为您有错误,所以不会构建您的资源,即R.java或IMarketBillingService.java。
答案 2 :(得分:2)
从以下链接下载源代码,将您的代码与下载的代码进行比较,我相信您会解决您的问题。
答案 3 :(得分:2)
你也可以在eclipse中删除gen文件夹,这应该通过eclipse插件触发重建并创建相应的java类。
答案 4 :(得分:2)
以下是解决这个问题的原因:
有关如何在IInAppBillingService.aidl文件中设置的文档含糊不清:
将IInAppBillingService.aidl文件复制到Android项目中。
- 如果您使用的是Eclipse:将IInAppBillingService.aidl文件导入/ src目录。
- 如果您在非Eclipse环境中进行开发:创建以下目录 / src / com / android / vending / billing并将IInAppBillingService.aidl文件复制到此目录中。
对我来说,这意味着如果我在Eclipse中,我应该将它放在我的src目录的根目录中,但如果没有,那么我需要将它放在指定的包中。所以,我把IInAppBillingService.aidl放在我的/ src目录的根目录中,它有所有的失败。这就是问题所在。
我不知道为什么文档是这样编写的,但解决方法是将此文件放入正确的包目录,该目录是。{1}},如.aidl文件中声明的那样。然后它成功生成并正确构建了所有其他文件。
答案 5 :(得分:1)
最后,我使用旧项目的生成java文件而不是IMarketBillingService.aidl。现在它有效。
答案 6 :(得分:1)
至少在Eclipse中,您需要做的是更改Java编译器设置(因为这是编译器错误)。
尝试将编译器合规性级别从1.5更改为1.6或1.7。它对我有用。
答案 7 :(得分:1)
我遇到了这个问题,这就是救了我的事:
参考
https://code.google.com/p/android/issues/detail?id=56755 https://stackoverflow.com/a/22769862/2615737
答案 8 :(得分:0)
迁移到新计算机时遇到了这个令人沮丧的问题。对我有用的是在命令行中使用“ant debug”来生成计费服务文件。
http://developer.android.com/guide/developing/building/building-cmdline.html
答案 9 :(得分:0)
导入整个“android-sdk-macosx / extras / google”文件夹及其所有项目。 “com.example.dungeons.Dungeons”项目现在应该编译好了。
答案 10 :(得分:0)
我在这里尝试了一些方法,但对我没用。
对我来说最简单的是Clean
,然后是Build All
。
答案 11 :(得分:0)
就我而言,我必须从Project Properties> Android> Project Build Target中选择Android Project Target。 显然,在我上次升级Eclipse之后,我没有下载过去用于项目的API级别。因此,Eclipse无法解析上次使用的API级别,并导致错误。