欢迎光临散文网 会员登陆 & 注册

一次xamarin绑定安卓库的记录

2021-09-28 17:44 作者:抑制住a  | 我要投稿

由于xx原因,我这里用到了一个叫AgentWeb的安卓库,在此记录一下绑定的过程。

由于他是安卓库,所以我们需要先去下载一下他的jar和aar。

github地址:https://github.com/Justson/AgentWeb

然后我们就得到了两个文件(不会下载的可以去问问百度)。

先随便建一个项目

然后添加一个安卓绑定库项目

然后把jar和aar文件添加到绑定库项目的Jars文件夹中(记得右键改一下生成操作)。

然后去随便写个xml文件。

写上一些基础代码

然后基础部分就结束了,开始踩大坑了。

先尝试生成一下项目,会发现一堆报错,我们来一个一个解决。

很明前,前五个都是同类报错,均为未实现xx接口。

我们随便点一个进去看看。

我们能发现这些接口都是实现了的,只是类型不一致。

因为这些类都是部分类(partial),所以我们可以去手动改一下他的返回类型。

类似下面这样,懂的都懂。

写好五个文件之后,报错就少一大半了。

还有最后一个报错,我们点进去看看。

感觉好麻烦的样子,我直接把他删了吧。

在方法的上边可以获取到他的信息,然后复制到metadata.xml文件中。

就像是下边这样。

生成终于不报错了,然而并没有结束,还有一个坑。

假如我们要js调用C#,根据官网上我们可以这样写。

在这个AndroidInterface类中的方法上需要添加JavascriptInterface特性。

然后我就添加上了,结果一运行就报一大堆错。

那么问题来了,我不是加上JavascriptInterface了吗,为什么他会找不到呢?

这里我们可以去看看源码。

然后我们也getMethods试试,顺便对比一下java和C#反射的区别。

很明显java的反射比c#的少很多内容,看样子需要我们手动暴露一下这个方法。

添加一下这个引用。

然后启动也就不报错了。

到此结束了。

一次xamarin绑定安卓库的记录的评论 (共 条)

分享到微博请遵守国家法律