Search code examples
androidxamarinxamarin.androidxamarin-studio

android binding library protected members


I added binding library. It contains different packages and default onlly one of them was visible in my xamarin application. I did some changes in metadata.xml:

<metadata>
<attr path="/api/package[@name='kr.co.bluebird.android.bbapi.client']/class[@name='BBAPI_Client']/method[@name='BBAPI_Client']" name="visibility">public</attr>
<attr path="/api/package[@name='kr.co.bluebird.android.bbapi.client']/class[@name='BBAPI_Client']/method[@name='startService']" name="visibility">public</attr>
<attr path="/api/package[@name='kr.co.bluebird.android.bbapi.client']/class[@name='BBAPI_Client']/method[@name='stopService']" name="visibility">public</attr>

    <add-node path="/api">
        <package name="kr.co.bluebird.android.bbapi.client">
            <class abstract="false" deprecated="not deprecated" extends="java.lang.Object" 
            extends-generic-aware="java.lang.Object" final="false" name="BBAPI_Client" static="false"
             visibility="public">
            </class>
        </package>
        <package name="kr.co.bluebird.android.bbapi.client.func">
            <class abstract="false" deprecated="not deprecated" extends="java.lang.Object" extends-generic-aware="java.lang.Object" final="false" name="BBAPI_Barcode" static="false" visibility="public" />
            <class abstract="false" deprecated="not deprecated" extends="java.lang.Object" extends-generic-aware="java.lang.Object" final="false" name="BBAPI_Device" static="false" visibility="public" />
            <class abstract="false" deprecated="not deprecated" extends="java.lang.Object" extends-generic-aware="java.lang.Object" final="false" name="BBAPI_ICReader" static="false" visibility="public" />
            <class abstract="false" deprecated="not deprecated" extends="java.lang.Object" extends-generic-aware="java.lang.Object" final="false" name="BBAPI_MSR" static="false" visibility="public" />
        </package>
        <package name="kr.co.bluebird.android.bbapi.common">
        </package>
    </add-node>
</metadata>

But BBAPI_Client constructor is again protected and some methods inside it is not visible in my project.


Solution

  • I have changed target framework version and it works for me enter image description here