我正在尝试为此处https://www.nmi.com/sdks-and-apis#CDNA提供的android sdk创建绑定。绑定项目已构建,我可以将其添加到我的xamarin android项目中,但是一旦包含它,我就会收到以下错误。
错误:包com.creditcall.chipdnamobile不存在com.creditcall.chipdnamobile.IApplicationSelectionListener ChipDnaSample.AndroidC:\ Users \ mikee \ Documents \ GitHub \ ChipDna \ ChipDnaSample \ ChipDnaSample.Android \ obj \ Debug \ 90 \ android \ src \ mono \ com \ creditcall \ chipdnamobile \ IApplicationSelectionListenerImplementor.java 8
错误:com.creditcall.chipdnamobile软件包不存在私有原生void n_onAvailablePinPads(com.creditcall.chipdnamobile.Parametersp0); ChipDnaSample.Android C:\ Users \ mikee \ Documents \ GitHub \ ChipDna \ ChipDnaSample \ ChipDnaSample.Android \ obj \ Debug \ 90 \ android \ src \ mono \ com \ creditcall \ chipdnamobile \ IAvailablePinPadsListenerImplementor.java 33
仅引用不同的类就有64个相同性质的错误。我已将所有代码都放在GitHub here
如果进入Obj / Release / generation / src,我可以找到IApplicationSelectionListener,因此它被创建了一些绑定,但实际上不起作用。有人可以为我指出纠正此类错误所需的正确方法吗?
谢谢
您必须更改罐子的构建类型。
更改
InputJar
至EmbeddedInputJar
ReferenceJar
至EmbeddedReferenceJar
有关更多信息,请参见:https://docs.microsoft.com/en-us/xamarin/android/platform/binding-java-library/binding-a-jar
重要句:
通常,您使用EmbeddedJar构建操作,以便将.JAR自动打包到绑定库中。这是最简单的选项-.JAR中的Java字节码将转换为Dex字节码,并(与Managed Callable Wrappers一起)嵌入到APK中。如果要使.JAR与绑定库分开,则可以使用InputJar选项;否则,请参见。但是,您必须确保.JAR文件在运行您的应用的设备上可用。