Ho un file .jar
con un'interfaccia Java chiamato MyService
, che ha un metodo:Xamarin .jar vincolante - 'Bitmap non poteva essere trovato'
boolean printBitmapObject(android.graphics.Bitmap bitmap, byte[] result);
Vorrei utilizzare questo file .jar
in C# a il mio progetto Android Xamarin in Visual Studio 2015. Ho fatto i seguenti passaggi:
- Ho creato un nuovo progetto di rilegatura della libreria.
- Ho inserito il file
.jar
nella directoryJars
del nuovo progetto con la proprietàBuildAction
impostata suInputJar
. - Il progetto è stato realizzato con successo.
- Ho aggiunto un riferimento al progetto di rilegatura della biblioteca nel mio progetto principale.
Purtroppo, non posso costruire il mio progetto principale più, perché non v'è un errore nel codice C generato automaticamente #:
public interface IMyService : global::Android.OS.IInterface
{
bool PrintBitmapObject (Bitmap bmp, byte[] result); //"Bitmap" is red underlined
}
con il messaggio "The type or namespace name 'Bitmap' could not be found (are you missing a using directive or an assembly reference?)"
.
C'è anche una classe astratta generata automaticamente IMyServiceStub
, che non riconosce anche Bitmap
. Inoltre, non conosce un po 'di auto-generata BitmapStub
sia:
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;
}
...
}
}
Ho provato ad aggiungere using Bitmap = Android.Graphics.Bitmap
al file generato automaticamente, ma non aiuta, perché BitmapStub
rimane sconosciuto e le mie modifiche vengono sovrascritti durante il prossima build.
C'è qualcosa che posso fare per risolvere questo problema? O è un bug noto in Xamarin (utilizzo la versione 4.0)?
Puoi condividere il .jar in modo che possa provare ad aiutarti? – jzeferino
@jzeferino Non posso, sfortunatamente, spezzerei NDA ... – vojta