Forgive me 因为我没有't really know where to ask this question, but I assume it would be really helpful to a lot of people to know the answer. If I shouldn' t在这里问过它,请将我重定向到一个更好的网站询问它 . 谢谢 .
无论如何,所以我在很多应用程序中使用Parse,特别是在Android和基于Web的应用程序上作为数据的后端 . 这是一项很棒的服务,他们提供了很好的文档,我喜欢它 . 但是,我最近从Android上的原生java切换到带有Xamarin.Android的C# . 我很高兴地发现Parse已经为Xamarin.Android应用程序提供了现有的sdk! Unfortunately, I needed Push Notification functionality which hadn't been implemented in that sdk ,但已在Parse的原生java / android sdk中进行了详细记录和维护 .
所以在阅读Parse论坛上关于我的问题的所有评论之后, I looked into binding the java/android libraries from Parse to Xamarin's C# for Android ,因为它似乎是除了使用他们的REST API之外的唯一解决方案 . Xamarin有一个非常好的工具,可以将java绑定到C#,但是,我可能错了, my understanding is that the Xamarin binding tool must be decompiling the java source from the native android parse sdk, parsing through it, and then creating C# wrappers around it.
但是,如果您访问Parse的网站并查看其许可证,则会显示 Parse's code cannot be decompiled . 另一方面,当你进入Xamarin时,他们有Parse的iOS绑定,他们似乎已将自己绑定到C#,并且是 distributing it on Github . 另外,在Parse 's forums whenever someone suggested to bind the sdk, no one ever responded saying that it wasn'上允许 .
所以我的问题是:
Xamarin如何在不反编译原生java的情况下绑定库?
将Parse / Android sdk从java绑定到C#并在 生产环境 应用程序中使用它或分发它是否合法?
再次感谢!
1 回答
据我所知,Java绑定库没有反编译 . 它创建了一个绑定项目,该项目使用基于声明方法的C#包装器自动包装库 . 它只包含公共类和方法 .
以下是为YouTubePlayer生成包装器代码的示例
您可以从architecture description和java binding description了解更多信息