Java绑定抽象类未生成

Sus*_*ver 3 binding xamarin.android xamarin

错误CS0234:类型或命名空间名称IBitmap' does not exist in the namespaceCom.Sushi.Hangover'.你错过了装配参考吗?

我有一个Android绑定项目,其中包含从多个接口继承的类,但这些接口尚未生成,因此所有依赖它们的公共类都无法绑定.

Java类:

abstract interface Bitmap
{
   ~~~ (methods removed)
}
Run Code Online (Sandbox Code Playgroud)

api.xml:

<interface abstract="true" deprecated="not deprecated" final="false" name="Bitmap" static="false" visibility="">
Run Code Online (Sandbox Code Playgroud)

正如您所看到的visibility,此接口未设置为public,因此不会生成C#代码,但是会生成依赖于此接口的公共类:

public partial class DrawableDesign : global::Com.Sushi.Hangover.IBitmap {
Run Code Online (Sandbox Code Playgroud)

绑定在将接口名称转换为Bitmapto时会知道接口IBitmap.

有没有办法强制创建这些接口而不返回Java代码并将这些接口更改为public以使它们进入api.xmlas visibility="public"

注意:我在稳定频道(Xamarin.Android版本:6.0.3.5),因为此客户端没有Alpha/Beta访问权限

Jon*_*las 7

我写了一篇关于这个主题的小指南,可能对某些方面有所帮助:https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb

简而言之,你可能会尝试更改@Cheesebaron已经提到过的可见性:https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb#class-visibility (用接口替换/ class或读取公共路径)

否则,您可能会尝试从头开始添加节点:https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb#adding-types

为了更准确的答案,我相信我们需要查看相应的.jar/.aar和当前的Bindings项目.