我按照link中提到的这些步骤执行此操作。
IInAppBillingService.aidl
文件复制到Android项目。(1)如果您使用的是Eclipse:将
IInAppBillingService.aidl
文件导入/ src目录。(2)如果您在非Eclipse环境中进行开发:创建以下目录/ src / com / android / vending / billing并将
IInAppBillingService.aidl
文件复制到此目录中。
IInAppBillingService.java
目录中看到名为/gen
的生成文件。/util
示例的TrivialDrive
目录中的帮助程序类添加到项目中。请记住相应地更改这些文件中的包名称声明,以便正确编译项目。但是当我完成时,Eclipse给了我一个错误:
interface IInAppBillingService should be declared in a file called com\android\vending\billing\IInAppBillingService.aidl.
aidl
文件位于正确的目录中,但未生成IInAppBillingService.java
文件。
以前有人见过吗?
答案 0 :(得分:56)
右键单击项目的头部并创建一个新的PACKAGE ...调用包com.android.vending.billing ....将aidl文件放在那里以安静错误。
有些值得深思:对于那些有兴趣的人 - 当使用某人的aidl文件时,两个应用程序的包名必须相同。谷歌使用com.android.vending.billing作为他们的计费援助界面的包名,所以你必须在你的应用程序中使用相同的包名。这是使用aidl时的规则。
答案 1 :(得分:27)
答案 2 :(得分:4)
@David提到的结构在Android Studio 1.2中运行良好。
结算文件夹的路径应如下所示:
[YOUR_APP_FOLDER]/app/src/main/aidl/com/android/vending/billing/IInAppBillingService.aidl
您可以在此处查看IInAppBillingService.java生成的文件:
[YOUR_APP_FOLDER]/app/build/generated/source/aidl/debug/com/android/vending/IInAppBillingService.java
祝你好运!
答案 3 :(得分:2)
在/ src目录中,单击文件>新>打包,然后创建一个名为com.android.vending.billing的包
从/ extras / google / play_billing /复制IInAppBillingService.aidl文件并将其粘贴到工作区中的src / com.android.vending.billing /文件夹中。
构建您的应用程序。您应该在项目的/ gen目录中看到名为IInAppBillingService.java的生成文件。
答案 4 :(得分:1)
我能给你的唯一建议是重新检查你的src文件夹中目录的拼写,如果你把文件放到/src/com/android/vending/billing/IInAppBillingService.aidl它应该工作
答案 5 :(得分:1)
其他建议很好。有时eclipse可能只是奇怪,而在这种情况下,一个项目清理可以修复它。
答案 6 :(得分:1)
我做了@ j2emanue建议的内容(点击New / Package,添加“com.android.vendor.billing”),我还将该目录添加到我的文件系统(com / android / vendor / billing)然后复制了文件在里面。然后,单击项目上的“刷新”。建立,并成功。
答案 7 :(得分:0)
检查是否已在依赖项下的build.gladle中添加了计费库
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.android.billingclient:billing:1.1'
}
请参见上述代码的最后一行。实施'com.android.billingclient:billing:1.1'对我来说解决了同样的问题
答案 8 :(得分:0)
2018
app/build.gradle:
sourceSets {
main {
aidl.srcDirs = ['src/main/aidl']
}
}
或
sourceSets {
main {
aidl.srcDirs = ['src']
}
}
IInAppBillingService.aidl