我目前正在将一个Eclipse应用程序迁移到Android Studio。此应用程序正在使用in应用程序计费。
我的主要问题是编译项目和aidl文件(我猜你们都使用this file)
我收到这个错误消息:
Gradle: error: cannot find symbol class IInAppBillingService
Gradle: error: package IInAppBillingService does not exist
因此,根据一些教程,我将这个文件从com.mypackage.billing移动到src/main/aidl (请参阅this reference)
但当我这样做的时候,我得到了这样的信息:
Gradle:执行任务':xxxxxxxxxxx:compileDebugAidl‘失败。
无法运行命令:(...)应在名为com\xxxxxxxx\billing\IInAppBillingService.aidl.的文件中声明C:\Users\xxxx\AndroidStudioProjects\xxxxxxProject\xxxxxxx\src\main\aidl\IInAppBillingService.aidl:45接口IInAppBillingService
这条消息显然与我上面链接的Google bug页面上的帖子相矛盾。
有谁成功地使这个aidl文件工作,并能帮助我?
仅供参考,我关注了一些链接:
发布于 2013-07-24 22:11:13
正如错误消息所说,您需要将IInAppBillingService.aidl
放在它的包(com.android.vending.billing)指定的正确目录中。
在您已有的src/main/aidl/
文件夹中,将.aidl
文件放入com/android/vending/billing/
。
发布于 2014-04-01 02:55:11
添加这个作为答案,因为它似乎帮助了相当多的人。
在‘src/
注意:如果引用不起作用,请确保包含必要的导入
import com.android.vending.billing.IInAppBillingService;
https://issuetracker.google.com/issues/36973270
从Comment编辑
完成此操作后,代码中对IInAppBillingService的引用仍然突出显示为错误,但在重新构建应用程序后,类被识别出来
发布于 2015-01-28 22:51:08
在名为aidl
aidl
new->add package
com.android.vending.billing
App_name/app/src/main/aidl/com/android/vending/billing
can not resolve symbol IInAppBillingXXXXXX
src/main
aidl
IInAppBillingService.aidl
,继续进行InApp计费编码,在定义InApp相关服务时,您将收到一个错误消息:从android studio菜单中选择goto to Build
,单击Rebuild Project
。这将在App_Name/app/build/generated/source/aidl/debug/com/android/vending/billing
中生成IInAppBillingService.java
文件。这将解决问题。https://stackoverflow.com/questions/17836234
复制相似问题