2010-11-12 6 views
1

Je dois faire en sorte que d'autres développeurs puissent se connecter à mon service, mais mon AIDL importe mes classes. Je ne veux pas leur donner le code source du service, juste l'APK et une sorte de fichier de raccord (java, jar?). Comment puis-je leur donner quelque chose - "la colle" - qui leur permet d'utiliser les classes dans mon AIDL et d'utiliser le service akp sans obtenir les sources du service?Déploiement de mon AIDL qui importe mes classes

Merci pour tous les conseils!

Répondre

2

je dois faire d'autres développeurs pour être en mesure de se connecter à mon service, mais mon AIDL importe des mes cours

Si par « mes cours » vous dire vos propres classes qui mettent en œuvre Parcelable, se débarrasser d'entre eux de votre API. À mon humble avis, les seules API de service distant stables sont celles qui dépendent uniquement des éléments fournis et gérés par le système d'exploitation. Cela signifie que vous vous en tenez aux primitives, aux listes/cartes et aux classes Parcelable fournies par Android (par exemple, Bundle, PendingIntent).

Sinon, vous devez envoyer le code source à vos classes Parcelable, puis résoudre les problèmes de compatibilité si vous décidez de modifier ces implémentations de classes.

Si, toutefois, «mes classes» fait référence à autre chose, vous pouvez éditer votre question et expliquer un peu plus ce que vous voulez dire. Par exemple, vous pouvez publier le fichier AIDL.

+0

Merci pour votre réponse! – user289463

+0

Le problème est que l'API (à travers cette AIDL) a besoin des classes spéciales (parcelable). Donc, si je m'en débarrasse, comment le code client les utilisera-t-il? Comment puis-je exporter une sorte de stub/colle qui permet de voir les classes sans utiliser les sources? (les classes sont juste pour passer/récupérer des données) – user289463

+0

@ user289463: "Le problème est que l'API (à travers cette AIDL) a besoin des classes spéciales (parcelable)" - IMHO, c'était une erreur de conception API de votre part, si vous planifiiez que des tiers se connectent à cette interface AIDL. Pour vos propres projets, les classes personnalisées 'Parcelable' sont bien, mais pas pour les API pour des tiers. "Comment puis-je exporter une sorte de stub/colle qui permet de voir les classes sans utiliser les sources?" - Tu ne le fais pas. Vous modifiez votre API pour éviter l'utilisation de "Parcelables" personnalisés. Par exemple, passez les 'Bundles'. – CommonsWare

Questions connexes