Xamarin привязка библиотеки Android (AAR) - PullRequest
0 голосов
/ 03 сентября 2018

Я хочу использовать библиотеку https://www.dsphotoeditor.com/ в xamarin Android. Для этого я создал обязательный проект. Я знаю, как создать привязку, я уже сделал это для библиотеки sinch. Но для https://www.dsphotoeditor.com/, я не могу решить некоторые ошибки. Я обновил его файл metdata.xml следующим содержанием

<attr path="/api/package[@name='com.dsphotoeditor.sdk.ui.focusablelinearlayout']" name="managedName">BindingFocusablelinearlayout</attr>
  <attr path="/api/package[@name='com.dsphotoeditor.sdk.ui.imagebrushview']" name="managedName">BindingImagebrushview</attr>
  <attr path="/api/package[@name='com.dsphotoeditor.sdk.ui.stickerview']" name="managedName">BindingStickerview</attr>
  <attr path="/api/package[@name='com.dsphotoeditor.sdk.ui.touchimageview']" name="managedName">BindingTouchimageview</attr>
  <attr path="/api/package[@name='com.dsphotoeditor.sdk.ui.touchimageview']/class[@name='TouchImageView']/method[@name='onConfigurationChanged' and count(parameter)=1 and parameter[1][@type='android.content.res.Configuration']]" name="visibility">protected</attr>
  <attr path="/api/package[@name='com.dsphotoeditor.sdk.ui.touchimageview']/class[@name='TouchImageView']/method[@name='onRestoreInstanceState' and count(parameter)=1 and parameter[1][@type='android.os.Parcelable']]" name="visibility">protected</attr>
   <attr path="/api/package[@name='com.dsphotoeditor.sdk.ui.touchimageview']/class[@name='TouchImageView']/method[@name='onSaveInstanceState' and count(parameter)=0]" name="visibility">protected</attr>
  <attr path="/api/package[@name='com.dsphotoeditor.sdk.ui.simplecropview']/class[@name='CropImageView']/method[@name='onDraw' and count(parameter)=1 and parameter[1][@type='android.graphics.Canvas']]" name="visibility">protected</attr>
  <attr path="/api/package[@name='com.dsphotoeditor.sdk.ui.simplecropview']/class[@name='CropImageView']/method[@name='onRestoreInstanceState' and count(parameter)=1 and parameter[1][@type='android.os.Parcelable']]" name="visibility">protected</attr>
  <attr path="/api/package[@name='com.dsphotoeditor.sdk.ui.simplecropview']/class[@name='CropImageView']/method[@name='onSaveInstanceState' and count(parameter)=0]" name="visibility">protected</attr>

Добавлена ​​первая-четвертая строка в вышеупомянутом XML, потому что для устранения ошибки

"Путь к пространству имен не может иметь имя класса. Ошибка с именем имени"

Добавлены 5–10 строки, чтобы сделать класс защищенным (Причина: по умолчанию .Net делает открытые классы, что вызывает проблемы при переопределении java-защищенных методов)

Метаданные выше метода помогают исправить некоторые ошибки, но они все еще содержат много ошибок. Ошибки приведены ниже

Класс BindingImagebrushview.ImageBrushView имеет неизвестный базовый тип com.dsphotoeditor.sdk.ui.a.c.

Неизвестный тип возвращаемого значения com.dsphotoeditor.sdk.ui.simplecropview.a in метод А в управляемом типе Com.Dsphotoeditor.Sdk.UI.Simplecropview.CropImageView. Неизвестный тип параметра com.dsphotoeditor.sdk.ui.simplecropview.b.b в методе A в управляемом Тип Com.Dsphotoeditor.Sdk.UI.Simplecropview.CropImageView.

Неизвестный тип параметра com.dsphotoeditor.sdk.ui.simplecropview.CropImageView.a в методе A в управляемый тип Com.Dsphotoeditor.Sdk.UI.Simplecropview.CropImageView.

Неизвестный тип параметра com.dsphotoeditor.sdk.ui.simplecropview.CropImageView.a в методе SetCropMode в управляемом типе Com.Dsphotoeditor.Sdk.UI.Simplecropview.CropImageView.

Неизвестный тип параметра com.dsphotoeditor.sdk.ui.simplecropview.CropImageView.c в методе SetGuideShowMode в управляемом типе Com.Dsphotoeditor.Sdk.UI.Simplecropview.CropImageView. Неизвестный тип параметра com.dsphotoeditor.sdk.ui.simplecropview.CropImageView.c в методе SetHandleShowMode в управляемом типе Com.Dsphotoeditor.Sdk.UI.Simplecropview.CropImageView.

Рабочий код Android этой библиотеки https://drive.google.com/open?id=1msStp0MdaGVY8QVXl8ZVpzLrqXoJQoMG

...