在绑定我的 jar 文件时,我不断在多个类中收到此错误:
\n\nError CS0534: 'path\xe2\x80\x99 does not implement inherited abstract memberAndroid.OS.AsyncTask.DoInBackground(params \nJava.Lang.Object[])' (CS0534)\nRun Code Online (Sandbox Code Playgroud)\n\n还有一些其他错误,例如:
\n\n \xe2\x80\x98package\xe2\x80\x99.Get(int)' hides inherited abstract member `Java.Util.AbstractList.Get(int)' (CS0533)\n\n`package\xe2\x80\x99: member names cannot be the same as their enclosing type (CS0542)\nRun Code Online (Sandbox Code Playgroud)\n\n这可能是本机 android 的 jar 或命名空间的问题吗?有办法修复这些错误吗?感谢您提前的帮助!
\n我有一个通用指南,可能在某些领域有所帮助:
https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb
我相信您当前的情况可以通过以下方式解决:
理想情况下,您需要将其更改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>
Run Code Online (Sandbox Code Playgroud)
来源:https ://gist.github.com/brendanzagaeski/9607158#file-metadata-xml-L74-L76
对于您的其他问题,您可以通过删除节点<remove-node>
您可以执行以下操作:
<!-- 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']]" />
Run Code Online (Sandbox Code Playgroud)
来源:https ://gist.github.com/brendanzagaeski/9607158#file-metadata-xml-L63-L68
请注意,您需要将这些示例调整为您的包和类名称。
| 归档时间: |
|
| 查看次数: |
1802 次 |
| 最近记录: |