Ho definito un file AIDL con la mia interfaccia. Qualcosa di simile a questo:Generatore di raccoglitori Android guasto
interface IResPlugin {
int discoverType();
Map onClick(in int id, in Map state);
int getLayoutId(in int option);
int getMeasures();
String getName();
}
automaticamente, Eclipse genera la cartella IResplugin.java in generazione, ma lo fa male. Questo è il codice Eclipse genera:
public java.util.Map onClick(int id, java.util.Map state) throws android.os.RemoteException
{
android.os.Parcel _data = android.os.Parcel.obtain();
android.os.Parcel _reply = android.os.Parcel.obtain();
java.util.Map _result;
try {
_data.writeInterfaceToken(DESCRIPTOR);
_data.writeInt(id);
_data.writeMap(state);
mRemote.transact(Stub.TRANSACTION_onClick, _data, _reply, 0);
_reply.readException();
_result = _reply.readHashMap(cl);
}
finally {
_reply.recycle();
_data.recycle();
}
return _result;
}
La linea _result = _replu.readHashMap(cl)
crash perché l'oggetto cl
non esiste. Se aggiungo questa riga manualmente (manca un programma di caricamento di classe), Eclipse sostituisce la mia versione per una generata da sola (e di nuovo, errata).
Qualche idea?
FYI, ho appena archiviato un problema: http://code.google.com/p/android/issues/detail?id=26841 – CommonsWare