137 votes

Comment puis-je ajouter le fichier aidl à Android studio (à partir de l'exemple de facturation in-app) ?

Je suis en train de migrer une application Eclipse vers Android Studio. Cette application utilisait la facturation in app.

Mon principal problème est de compiler le projet et le fichier aidl (je suppose que vous utilisez tous ce fichier )

Je reçois ce message d'erreur :

Gradle: error: cannot find symbol class IInAppBillingService
Gradle: error: package IInAppBillingService does not exist

Donc, en suivant quelques tutoriels, je déplace ce fichier de com.mypackage.billing à src/main/aidl (voir cette référence )

Mais dès que je fais ça, j'ai ce message :

Gradle : L'exécution a échoué pour la tâche ':xxxxxxxxxxx:compileDebugAidl'.

Échec de l'exécution de la commande : (...) C:\Users\xxxx\AndroidStudioProjects\xxxxxxProject\xxxxxxx\src\main\aidl\IInAppBillingService.aidl :45 L'interface IInAppBillingService doit être déclarée dans un fichier appelé com \xxxxxxxx\billing\IInAppBillingService.aidl.

Le message est clairement en contradiction avec le message de la page de bogue de Google dont j'ai donné le lien ci-dessus.

Quelqu'un a réussi à faire fonctionner ce fichier aidl et peut m'aider ?

enter image description here

Juste pour informer, quelques liens que j'ai suivis :

0 votes

La question est ... ne devrait-il pas y avoir ce fichier aidl dans /src/main/aidl/com/android/vending/billing ?

1 votes

Gradle : L'exécution a échoué pour la tâche ':MyProject:compileDebugAidl'. > Échec de l'exécution de la commande : 45 L'interface IInAppBillingService doit être déclarée dans un fichier appelé com \android\vending\billing\IInAppBillingService.aidl.

1 votes

Quelque chose me dit que tu ne le mets toujours pas dans le dossier que Selvin et moi disons... ?

0voto

Si tous les noms sont corrects, allez dans Build>rebuild project. cela a fonctionné pour moi

0voto

Shrdi Points 41

J'utilise Android Studio 4.1, il suffit de faire un clic droit de la souris -> Nouveau -> AIDL -> Fichier AIDL. Un fichier sera créé et placé dans le dossier [src/main/aidl] automatiquement. Le dossier aidl sera également créé s'il n'existe pas.

Cette fonction ne supporte que le sdk min 16+. Mon ancien projet peut encore être pris en charge, vous pouvez temporairement modifier le sdk min à 16, créer aidl et construire le projet. Après que l'interface relative et la classe soient générées, récupérez les paramètres de min sdk, cela fonctionne aussi et construit bien le projet alors.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X