Bry*_*yan 5 c# binding facebook xamarin.android xamarin
有没有人试图为Facebook sdk的第3版创建一个新的monodroid绑定?我一直在使用Monodroid Facebook Binding创建的旧版Facebook sdk .但新的Facebook sdk几乎所有这些方法都被弃用了.
我在设置新绑定时遇到了麻烦,基本上这个com.facebook.android.Facebook
类现在已被弃用,并且Facebook.Authorize
被替换为Session
.我可以创建一个新的facebook sdk的jar文件,但是Session
在查看.dll时,该类没有出现在visual studio的对象浏览器中.的Session
类是公共和器械java.io.Serializable
,其包括在Mono.Android
参考.任何帮助或建议将不胜感激.
编辑:用这个乱了几天之后,我能够通过解决这个问题来解决我的问题,删除节点Metadata.xml
.
<remove-node path="/api/package[@name='com.facebook']/class[@name='Session.OpenRequest']/method[@name='setPermissions']"/>
Run Code Online (Sandbox Code Playgroud)
这带来了其他问题,可以通过添加更多<attr>
标签来解决.
<remove-node path="/api/package[@name='com.facebook.model']/class[@name='PropertyName']"/>
<attr path="/api/package[@name='com.facebook.widget']/class[@name='GraphObjectAdapter']" name="visibility">public</attr>
<attr path="/api/package[@name='com.facebook.widget']/class[@name='GraphObjectPagingLoader']" name="visibility">public</attr>
<attr path="/api/package[@name='com.facebook.widget']/class[@name='FacebookFragment']" name="visibility">public</attr>
<attr path="/api/package[@name='com.facebook.widget']/class[@name='SimpleGraphObjectCursor']" name="visibility">public</attr>
<attr path="/api/package[@name='com.facebook.widget']/interface[@name='GraphObjectCursor']" name="visibility">public</attr>
Run Code Online (Sandbox Code Playgroud)
在构建这个尝试后,我得到了一个点,我在GraphObject.SectionAndItem
课堂上遇到了多个错误.
Error 41 Argument 1: cannot convert from 'Com.Facebook.Widget.GraphObjectAdapter.SectionAndItem.Type' to 'System.IntPtr' E:\Android\FacebookBinding\FacebookBinding\FacebookBinding\obj\Debug\generated\src\Com.Facebook.Widget.GraphObjectAdapter.cs 345 64 FacebookBinding
Error 39 Operator '!=' cannot be applied to operands of type 'Com.Facebook.Widget.GraphObjectAdapter.SectionAndItem.Type' and 'System.Type' E:\Android\FacebookBinding\FacebookBinding\FacebookBinding\obj\Debug\generated\src\Com.Facebook.Widget.GraphObjectAdapter.cs 344 9 FacebookBinding
Error 47 Operator '==' cannot be applied to operands of type 'Com.Facebook.Widget.GraphObjectAdapter.SectionAndItem.Type' and 'System.Type' E:\Android\FacebookBinding\FacebookBinding\FacebookBinding\obj\Debug\generated\src\Com.Facebook.Widget.GraphObjectAdapter.cs 381 9 FacebookBinding
Error 40 The best overloaded method match for 'Android.Runtime.JNIEnv.CreateInstance(System.IntPtr, string, params Android.Runtime.JValue[])' has some invalid arguments E:\Android\FacebookBinding\FacebookBinding\FacebookBinding\obj\Debug\generated\src\Com.Facebook.Widget.GraphObjectAdapter.cs 345 17 FacebookBinding
Run Code Online (Sandbox Code Playgroud)
为了解决这些问题,我删除了与这些问题相关的节点.
<remove-node path="/api/package[@name='com.facebook.widget']/class[@name='GraphObjectAdapter.SectionAndItem']"/>
<remove-node path="/api/package[@name='com.facebook.widget']/class[@name='GraphObjectAdapter.SectionAndItem.Type']"/>
Run Code Online (Sandbox Code Playgroud)
现在绑定能够成功构建.您认为我现在可以构建和部署我的应用程序,另一个问题出现了.将.jar
文件和.dll
文件添加到我的应用程序后,我在构建时遇到了这些错误.
Error 62 package com.facebook.widget.GraphObjectAdapter does not exist
com.facebook.widget.GraphObjectAdapter.DataNeededListener
E:\Android\FacebookBinding\FacebookBinding\FacebookTest\obj\Debug\android\src\mono\com\facebook\widget\GraphObjectAdapter_DataNeededListenerImplementor.java 8 41 FacebookTest
Error 63 package com.facebook.widget.GraphObjectPagingLoader does not exist
com.facebook.widget.GraphObjectPagingLoader.OnErrorListener
E:\Android\FacebookBinding\FacebookBinding\FacebookTest\obj\Debug\android\src\mono\com\facebook\widget\GraphObjectPagingLoader_OnErrorListenerImplementor.java 8 46 FacebookTest
Run Code Online (Sandbox Code Playgroud)
我现在不知道怎么在这里继续.对任何到达这个地方的步骤有任何建议或意见吗?
Xamarin 正在发布 4.7.x 的新版本,Mono for Android
该版本应该会公开 Facebook 在其文件中使用的更多 Java 库.jar
。我切换到测试版频道并尝试再次编译它,我可以使用GraphObject
. 我认为仍然需要对Metadata.xml
文件进行一些处理才能获得整个.jar
边界,但这是朝着正确方向迈出的一步。
归档时间: |
|
查看次数: |
664 次 |
最近记录: |