gpt4 book ai didi

java - Xamarin .jar 绑定(bind) - 'Bitmap could not be found'

转载 作者:搜寻专家 更新时间:2023-10-30 21:12:36 24 4
gpt4 key购买 nike

我有一个 .jar 文件,它有一个名为 MyService 的 Java 接口(interface),它有一个方法:

boolean printBitmapObject(android.graphics.Bitmap bitmap, byte[] result);

我想在 Visual Studio 2015 的 Android Xamarin 项目中使用 C# 中的这个 .jar 文件。我执行了以下步骤:

  1. 我创建了一个新的库绑定(bind)项目。
  2. 我将 .jar 文件放入新项目的 Jars 目录中,并将 BuildAction 属性设置为 InputJar .
  3. 项目搭建成功。
  4. 我将对库绑定(bind)项目的引用添加到我的主项目中。

不幸的是,我无法再构建我的主项目,因为自动生成的 C# 代码中存在错误:

    public interface IMyService : global::Android.OS.IInterface
{
bool PrintBitmapObject (Bitmap bmp, byte[] result); //"Bitmap" is red underlined
}

带有消息 “找不到类型或命名空间名称‘Bitmap’(是否缺少 using 指令或程序集引用?)”

还有一个自动生成的抽象类IMyServiceStub,它也不识别Bitmap。此外,它也不知道一些自动生成的 BitmapStub:

public abstract class IMyServiceStub : global::Android.OS.Binder, global::Android.OS.IInterface, IMyService
{
...
protected override bool OnTransact (int code, global::Android.OS.Parcel data, global::Android.OS.Parcel reply, int flags)
{
...
case TransactionPrintBitmapObject: {
data.EnforceInterface (descriptor);
Bitmap arg0 = default (Bitmap); //Bitmap red underlined
arg0 = BitmapStub.AsInterface (data.ReadStrongBinder ()); //BitmapStub red underlined
byte [] arg1 = default (byte []);
var result = this.PrintBitmapObject (arg0, arg1);
reply.WriteNoException ();
reply.WriteInt (result ? 1 : 0);
data.WriteByteArray (arg1);
return true;
}
...
}

}

我尝试将 using Bitmap = Android.Graphics.Bitmap 添加到自动生成的文件中,但这没有帮助,因为 BitmapStub 仍然未知,我的更改是在下一次构建期间被覆盖。

我能做些什么来解决这个问题吗?或者它是 Xamarin 中的一个已知错误(我使用的是 4.0 版)?

最佳答案

Jar 绑定(bind)不适用于 Android 库项目,您需要包含 .aar 文件。 Jar 文件不引用 jar 中的 android 特定库,但 .aar 文件正确引用所有必需的 android 相关库。

关于java - Xamarin .jar 绑定(bind) - 'Bitmap could not be found',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37616794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com