ana*_*and 4 android xamarin.android xamarin aar
我有一个android的.aar文件.我试图在我的xamarin.android应用程序中使用它.我按照链接中给出的步骤进行了操作https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/binding-an-aar/
但是当我尝试构建我的库时,我遇到了错误
"没有实现接口成员'IComparable.CompareTo(Object)'"
我找到了一些解决方案,其中提到在metadata.xml中我们需要添加一些属性.所以我在那里添加了以下行
path="/api/package[@name='com.logicjunction.ljindoorandroidsdk']/class[@name='FloorPlanBeaconsMapping']/implements[@name='java.lang.Comparable']"
Run Code Online (Sandbox Code Playgroud)
名称= "类型"> java.lang.Comparable的>
但仍然得到同样的错误.我怎么解决这个问题?
在没有接口实现的情况下构建库时获取错误IComparable.CompareTo:
要解决此问题,需要在" Additions "文件夹中创建需要接口成员实现"IComparable.CompareTo(Object)"的库类的部分类,如下所示:
命名空间应该与绑定库相同,在这种情况下,它是:" Hirondelle.Date4j ".
using Java.Lang;
namespace Hirondelle.Date4j
{
public partial class DateTime : Object, IComparable
{
int IComparable.CompareTo(Object obj)
{
return CompareTo((DateTime)obj);
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后应该成功构建库.
所以我遇到了同样的问题,我可以通过帮助编译器在Metada.xml(Transforms文件夹)中添加这些行来解决它:
<add-node path="/api/package[@name='<JAVA_PACKAGE_NAME>']/class[@name='<CLASS_NAME>']">
<method name="compareTo" return="int" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public">
<parameter name="p0" type="java.lang.Object" />
</method>
</add-node>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1015 次 |
| 最近记录: |