我正在尝试将java库引入我的monodroid项目。我正在使用Amazon Mobile Associates库,我正在尝试这样做:
AssociatesAPI.Initialize(new AssociatesAPI.Config(APPLICATION_KEY,this));
不幸的是,即使这个AssociatesAPI.Config(字符串,上下文)构造函数是公共的,它也在使用第二个构造函数:
public Config (string p0, Context p1) : base (IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
和构造函数
protected Config (IntPtr javaReference, JniHandleOwnership transfer) : base (javaReference, transfer)
受到保护。
当我使用 Metadata.xml 时,我可以设置类构造函数public:
< attr path="/api/package[@name='com.amazon.device.associates']/class[@name='AssociatesAPI.Config']/constructor" name="visibility">public< /attr>
但是这只设置了一个构造函数,受保护的构造函数保持受保护。因此,当我在我的应用中使用此库时,我得到错误:
Error CS1540: Cannot access protected member `Com.Amazon.Device.Associates.AssociatesAPI.Config.Config(System.IntPtr, Android.Runtime.JniHandleOwnership)' via a qualifier of type `Com.Amazon.Device.Associates.AssociatesAPI.Config'.
The qualifier must be of type `Mews.Client.Navigator.TabletAndroid.Activities.Services.ServiceDetailActivity' (<i>this is my activity I'm passing as a Context</i>) or derived from it (CS1540)
和
Error CS0122: `Com.Amazon.Device.Associates.AssociatesAPI.Config.Config(System.IntPtr, Android.Runtime.JniHandleOwnership)' is inaccessible due to its protection level (CS0122) (Mews.Client.Navigator.TabletAndroid)
当我编译库项目时,没有关于未找到节点或错误xpath的错误或警告,这通常在attr中指定错误的路径或类名时出现。
任何人都可以帮助我吗?
谢谢
答案 0 :(得分:0)
在Transforms / Metadata.xml中添加如下内容:
<attr path="/api/package[@name='Name_of_the_package']/class[@name='myclass']/method[@name='methodname']" name="visibility"> public</attr>