0
我正在尝试为BugSense创建一个Java绑定库,但其中一个方法有一个名为“params”的参数,它是C#中的一个保留字。我试图使用Metadata.xml文件来重命名它,但我无法弄清楚如何访问该类,更不用说该方法或它的参数了。用Mono for Android重命名Java绑定库中的“params”参数?
这里的问题是代码它的产生:
namespace Com.Bugsense.Trace {
[global::Android.Runtime.Register ("com/bugsense/trace/ActivityAsyncTask", DoNotGenerateAcw=true)]
internal partial class ActivityAsyncTaskInvoker : ActivityAsyncTask {
static IntPtr id_doInBackground_arrayLjava_lang_Object_;
[Register ("doInBackground", "([Ljava/lang/Object;)Ljava/lang/Object;", "GetDoInBackground_arrayLjava_lang_Object_Handler")]
protected override global::Java.Lang.Object DoInBackground (global::Java.Lang.Object[] params)
{
if (id_doInBackground_arrayLjava_lang_Object_ == IntPtr.Zero)
id_doInBackground_arrayLjava_lang_Object_ = JNIEnv.GetMethodID (class_ref, "doInBackground", "([Ljava/lang/Object;)Ljava/lang/Object;");
IntPtr native_params = JNIEnv.NewArray (params);
global::Java.Lang.Object __ret = Java.Lang.Object.GetObject<global::Java.Lang.Object> (JNIEnv.CallObjectMethod (Handle, id_doInBackground_arrayLjava_lang_Object_, new JValue (native_params)), JniHandleOwnership.TransferLocalRef);
if (params != null) {
JNIEnv.CopyArray (native_params, params);
JNIEnv.DeleteLocalRef (native_params);
}
return __ret;
}
}
}
这里是我的映射,这我觉得应该工作,但只是拒绝。
<attr path="/api/package[@name='com.bugsense.trace']/class[@name='ActivityAsyncTaskInvoker']/method[@name='doInBackground']/parameter[@name='params']" name="managedName">@params</attr>
我试过了所有我能想到的。请帮忙!
我可以对评论发表评论吗? ::叹息:: – DFX 2012-07-14 11:23:05
你可以将BugSense绑定到MonoDroid吗?然后你想分享一下这些代码吗? – Casper 2012-10-15 09:02:36