Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Xamarin中绑定Jar库时出现问题_Android_Xamarin - Fatal编程技术网

Android Xamarin中绑定Jar库时出现问题

Android Xamarin中绑定Jar库时出现问题,android,xamarin,Android,Xamarin,绑定jar文件时,我在多个类中不断遇到此错误: Error CS0534: 'path’ does not implement inherited abstract memberAndroid.OS.AsyncTask.DoInBackground(params Java.Lang.Object[])' (CS0534) 以及一些其他错误,例如: ‘package’.Get(int)' hides inherited abstract member `Java.Util.AbstractL

绑定jar文件时,我在多个类中不断遇到此错误:

Error CS0534: 'path’ does not implement inherited abstract memberAndroid.OS.AsyncTask.DoInBackground(params 
Java.Lang.Object[])' (CS0534)
以及一些其他错误,例如:

 ‘package’.Get(int)' hides inherited abstract member `Java.Util.AbstractList.Get(int)' (CS0533)

`package’: member names cannot be the same as their enclosing type (CS0542)

这可能是本地android的JAR或名称空间的问题吗?有没有办法修复这些错误?提前感谢您的帮助

我有一个通用指南,可能在某些方面有所帮助:

我相信您当前的情况可以通过以下方式解决:

<!-- The bindings generator does not currently handle cases where a subclass provides an abstract override for an
     abstract method. From what I've seen, there is no need to keep abstract overrides of abstract methods in the
     binding, so we can remove them.
     Error message: Error CS0533: `SomeMethodName' hides inherited abstract member `SomeMethodName' (CS0533) -->
<remove-node path="/api/package[@name='com.socialize.entity']/class[@name='SocializeActionFactory']/method[@name='postFromJSON' and count(parameter)=2 and parameter[1][@type='org.json.JSONObject'] and parameter[2][@type='T']]" />
<remove-node path="/api/package[@name='com.socialize.entity']/class[@name='SocializeActionFactory']/method[@name='postToJSON' and count(parameter)=2 and parameter[1][@type='T'] and parameter[2][@type='org.json.JSONObject']]" />
理想情况下,您需要将
managedType
更改为
Java.Lang.Object

<!-- There are also some methods that need to have their generic _parameter_ types simplified to `java.lang.Object`.
         Possible error message: Error CS0115: `SomeMethod(..., T, ...)' is marked as an override but no suitable method found to override (CS0115)
         Possible error message: Error CS0535: `SomeClass' does not implement interface member `SomeMethod(..., Java.Lang.Object,...)' (CS0535)
         Possible error message: Error CS0534: `SomeClass' does not implement inherited abstract member `SomeMethod(..., Java.Lang.Object,...)' (CS0534) -->
    <attr path="/api/package[@name='com.socialize.api']/class[@name='SocializeApi.AsyncAuthenicator']/method[@name='doInBackground' and count(parameter)=1 and parameter[1][@type='com.socialize.api.SocializeRequest']]/parameter[1]" name="managedType">Java.Lang.Object</attr>
    <attr path="/api/package[@name='com.socialize.api']/class[@name='SocializeApi.AsyncGetter']/method[@name='doInBackground' and count(parameter)=1 and parameter[1][@type='com.socialize.api.SocializeRequest']]/parameter[1]" name="managedType">Java.Lang.Object</attr>
    <attr path="/api/package[@name='com.socialize.api']/class[@name='SocializeApi.AsyncPutter']/method[@name='doInBackground' and count(parameter)=1 and parameter[1][@type='com.socialize.api.SocializeRequest']]/parameter[1]" name="managedType">Java.Lang.Object</attr>

对于其他问题,您可以通过

您可以执行以下操作:

<!-- The bindings generator does not currently handle cases where a subclass provides an abstract override for an
     abstract method. From what I've seen, there is no need to keep abstract overrides of abstract methods in the
     binding, so we can remove them.
     Error message: Error CS0533: `SomeMethodName' hides inherited abstract member `SomeMethodName' (CS0533) -->
<remove-node path="/api/package[@name='com.socialize.entity']/class[@name='SocializeActionFactory']/method[@name='postFromJSON' and count(parameter)=2 and parameter[1][@type='org.json.JSONObject'] and parameter[2][@type='T']]" />
<remove-node path="/api/package[@name='com.socialize.entity']/class[@name='SocializeActionFactory']/method[@name='postToJSON' and count(parameter)=2 and parameter[1][@type='T'] and parameter[2][@type='org.json.JSONObject']]" />

资料来源:


请注意,您需要根据您的包和类名调整这些示例。

谢谢您的反馈!我将这些实现到了我的项目元数据中,并且构建时没有错误。现在,当我在Droid项目中添加对库的引用并尝试构建应用程序时,我面临一个新错误:mandroiderror XA0000:Invalid create package command:-v--nosign--sdk dir这个错误的含义是什么?谢谢谢谢你的指导!Xamarin绑定令人沮丧,而且文档非常优秀!