2017-04-22 10 views
0

음성 채팅 (확대/축소 SDK)을 위해 Android SDK를 바인딩하려고합니다. 두 개의 .aar 파일 (zoomcoomonlib.aarzoomsdk.aar)Xamarin 바인딩 .aar과 Metadata.xml이 작동하지 않는 것 같습니다.

각 .aar에 대해 별도의 바인딩 프로젝트를 만든 다음 참조해야한다는 것을 알고 있습니다. zoomsdk.aar 바인딩 동안

내가 인터페이스에 package com.zipow.videobox.onedrive;를 탐색 .aar 파일에서 아래의 오류

The type `Com.Zipow.Videobox.Onedrive.ErrorEventArgs' already contains a definition for `P0' (CS0102) (B14) 

enter image description here

납니다 IODFoldLoaderListener

그리고 아래는 내용은 그것

enter image description here

따라서 onError 메서드의 String var1 매개 변수가 문제를 일으키는 것으로 보입니다. enter image description here

그래서이 시나리오에서 나는 metadata.xml 변경이 매개 변수에 의미있는 이름을 부여하기 :

그리고 스튜디오 자 마린

obj/debug/api.xmlonErrorp0라는 이름의 첫 번째 매개 변수가됩니다 (아래 스크린 샷)을 확인 생성. 스크린 샷 아래처럼

:

enter image description here

그러나 심지어 내가 같은 오류가 오전 일을 한 후

. 그 오류는 해결되지 않았습니다. 또한 obj/debug/api/.xml 파일을 볼 경우 클래스 내용을 볼 수 있습니다. IODFoldLoaderListener 동일하게 유지됩니다.

따라서 metadata.xml을 변경해도 아무런 효과가 없습니다.

+0

이미지를 텍스트로 사용 했으므로 답을 잘라내거나 붙여 넣을 수 없습니다. 메타 데이터 변환에서 전체 메서드 서명을 사용하고 있지 않습니다. Jon Douglas 우수한 바인딩 문서 섹션 2를 검토해보십시오. https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb – SushiHangover

답변

0

당신의 정의를 꽤 바꿔야합니다. 여기에 같은 문제를 해결하는 예입니다 : 당신의 초기 정의가 올바르지으로

<attr path="/api/package[@name='com.emarsys.mobileengage.inbox']/interface[@name='ResetBadgeCountResultListener']/method[@name='onError' and count(parameter)=1 and parameter[1][@type='java.lang.Exception']]" name="argsType">ResetBadgeCountResultListenerOnErrorArgs</attr> 

여기 /interfaceargsType 항목을 유의하시기 바랍니다. 그런 다음 예제에서 java.lang.Exception 대신 매개 변수를 문자열로 변경합니다.