Привязка библиотек Kotlin для Android

Внимание

В настоящее время рассматривается возможность использования настраиваемых привязок на платформе Xamarin. Примите участие в этом опросе, чтобы помочь определить дальнейшие направления разработки.

Платформа Android, а также ее собственные языки и средства постоянно развиваются, и для нее доступно множество сторонних библиотек, разработанных с использованием новейших предложений. Максимизация повторного использования кода и компонентов является одной из основных целей кросс-платформенной разработки. Возможность повторного использования компонентов, созданных с помощью Kotlin, становится все более важной для разработчиков Xamarin, так как их популярность среди разработчиков постоянно растет. Возможно, вы уже знакомы с процессом привязки обычных библиотек Java. Теперь доступна дополнительная документация, описывающая процесс привязки библиотеки Kotlin, поэтому они могут использоваться приложением Xamarin таким же образом. Цель этого документа — описать в общих чертах подход к созданию привязки Kotlin для Xamarin.

Обобщенный подход

С помощью Xamarin можно привязать любую собственную библиотеку стороннего производителя для использования приложением Xamarin. Kotlin — это новый язык, и создание привязки для библиотек, созданных на этом языке, требует некоторых дополнительных действий и инструментов. Этот подход предусматривает следующие четыре шага:

  1. Создание собственной библиотеки
  2. Подготовка метаданных Xamarin, которая позволяет средствам Xamarin создавать классы C#
  3. Создание библиотеки привязки Xamarin с помощью собственной библиотеки и метаданных
  4. Использование библиотеки привязки Xamarin в приложении Xamarin

В следующих разделах эти действия описаны более подробно.

Создание собственной библиотеки

Первый шаг — получить собственную библиотеку Kotlin (пакет AAR, который является архивом Android). Вы можете либо запросить его непосредственно у поставщика, либо создать его самостоятельно.

Подготовка метаданных Xamarin

Вторым шагом является подготовка файла преобразования метаданных, который будет использоваться инструментами Xamarin для создания соответствующих классов C#. В наилучшем сценарии этот файл может быть пустым, где все классы обнаруживаются и создаются средствами Xamarin. В некоторых случаях для создания правильного и (или) требуемого кода C# необходимо применить преобразование метаданных. Во многих случаях для обнаружения скрытых зависимостей и нежелательных классов, которые необходимо исключить из окончательного списка создаваемых классов C#, необходимо использовать дизассемблер AAR, например декомпилятор Java (JD). Окончательные метаданные должны представлять открытый интерфейс, с которым будет взаимодействовать приложение Xamarin.Android.

Создание библиотеки привязки Xamarin.Android

Третий шаг — создание специального проекта — библиотеки привязки Xamarin.Android. Он содержит библиотеки Kotlin как собственные ссылки и преобразование метаданных, определенное на предыдущем шаге. На момент записи для каждого пакета AAR, на который указывает ссылка, требуется отдельный проект библиотеки привязки Android. Для поддержки стандартной библиотеки Kotlin библиотека привязки должна добавить пакет Xamarin.Kotlin.StdLib.

Использование библиотеки привязки Xamarin

Четвертый и последний шаг — ссылка на библиотеку привязки в приложении Xamarin.Android. Добавление ссылки на библиотеку привязки Xamarin.Android позволяет приложению Xamarin использовать предоставленные классы Kotlin из этого пакета.

Пошаговое руководство

Здесь дано общее описание действий, необходимых для создания привязки Kotlin для Xamarin. При подготовке этих привязок на практике, необходимо предпринять множество ситуативных действий, включая адаптацию к изменениям в собственных инструментах и языках. Этот документ призван помочь вам получить более глубокое представление об этой концепции и общем характере действий, связанных с этим процессом. Подробные инструкции см. в пошаговом руководстве по привязке Kotlin в Xamarin.