Как разработать для Android с Xamarin?

Я хочу разрабатывать приложения для Android на C #. На Windows я попробовал Xamarin Studio и был очень доволен этим. Есть ли способ использовать Xamarin в Ubuntu?

Я заметил, что в Интернете есть двоичные файлы Xamarin.Android для Linux, но они предназначены только для Xamarin. Android 9.22, я бы хотел использовать Xamarin.Android 10. Можно ли это сделать?

Наконец, я знаю, что Xamarin Studio для Linux не существует. Какую IDE я могу использовать вместо нее? Как мне настроить его для создания приложений Android и их развертывания?

1
задан 1 October 2019 в 21:16

1 ответ

Короткий ответ

Да, можно разработать с Xamarin. Android на Ubuntu! Однако начиная с Linux, к сожалению, официально не поддерживается Xamarin, это не столь просто, как это было бы в Windows. Короче говоря, в первую очередь, необходимо установить Java, Моно и Studio Android, затем необходимо скомпилировать Xamarin. Android самостоятельно и наконец необходимо установить любимый IDE для работы с Xamarin.

.

Предпосылки

Установка Studio Android

(Примечание: В теории Вы могли просто загрузить SDK Android и NDK, я не попробовал его все же.)

Установка Studio Android на Ubuntu была покрыта полностью в другом ТАК ответ, но я пробегусь через него быстро: сначала необходимо установить Java 8 JDK. В то время как официально рекомендуется использовать Java Oracle, OpenJDK сделает очень хорошо:

sudo apt install openjdk-8-jdk

Необходимо будет также установить JAVA_HOME переменная для соответствия каталогу установки Java 8 JDK. Для этого добавьте эту строку к Вашему ~/.bashrc:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

Затем необходимо загрузить Studio Android и разархивировать его где-нибудь, Вам нравится, например, Ваша домашняя папка, или /opt/androidstudio.

После того как у Вас есть он, можно запустить его и открыть SDK Manager в правом верхнем углу:

SDK Manager

Теперь загрузите версии SDK, для которых Вы хотите быть нацеленными. Обязательно также установите NDK, тем не менее, поскольку это - то, что мы должны будем развернуть приложения Xamarin. Затем можно попытаться создать демонстрационное приложение и развернуть его на телефоне (или на рабочем эмуляторе) только, чтобы удостовериться, что все работает хорошо.

Также необходимо установить AndroidSdkDirectory переменная среды, так, чтобы Xamarin знал, где искать установленный SDKs. Можно сделать это путем добавления этой строки к Вашему .bashrc, .zshrc или безотносительно оболочки Вы используете:

export AndroidSdkDirectory=~/Android/Sdk

Можно также создать псевдонимы для полезных команд:

alias sdkmanager=~/Android/Sdk/tools/bin/sdkmanager
alias avdmanager=~/Android/Sdk/tools/bin/avdmanager
alias adb=~/Android/Sdk/platform-tools/adb
alias android-emulator=~/Android/Sdk/emulator/emulator

Установка моно

По состоянию на октябрь 2019 Ubuntu все еще не имеет Моно 5 в своих репозиториях. Поэтому мы должны будем добавить официальные Моно репозитории (это - хорошая идея так или иначе):

sudo apt install gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update

Затем ступите, мы устанавливаем Моно пакеты разработки. Возможно, Вам не будет нужно все, но я был ленив и пошел с mono-complete. Вам также будет нужно nuget, поэтому давайте установим это также:

sudo apt install mono-complete nuget

Можно проверить, была ли правильная версия установлена путем попытки msbuild команда. Старые версии Моно не имели его, поэтому если команда была найдена, Вы, вероятно, готовы пойти.

.

Компиляция Xamarin. Android

Зависимости

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

sudo apt install autoconf autotools-dev automake cmake build-essential curl gcc g++ g++-mingw-w64 gcc-mingw-w64 git libncurses5-dev libtool libz-mingw-w64-dev libzip-dev linux-libc-dev make ninja-build p7zip-full sqlite3 vim-common zlib1g-dev linux-libc-dev:i386 zlib1g-dev:i386 libx32tinfo-dev

Клонирование

Выберите последний Xamarin. Исходный код Android от GitHub:

git clone https://github.com/xamarin/xamarin-android.git
cd xamarin-android

Вы, вероятно, не хотите создавать от ведущего устройства, поэтому выбираете стабильную версию в GitHub repo и проверяете его с git checkout [chosen commit hash]. Удостоверьтесь, что также сбросили подмодули к правильной версии.

Системное обнаружение

При использовании распределения, полученного на основании Ubuntu необходимо будет добавить дополнительную строку к системному коду обнаружения, чтобы заставить ее работать:

nano build-tools/xaprepare/xaprepare/OperatingSystems/Linux.cs

и под строкой

{"Ubuntu",    (ctx) => new LinuxUbuntu (ctx)},

необходимо добавить строку для системы, например, для Элементарной ОС это:

{"elementary",(ctx) => new LinuxUbuntu (ctx)},

Если Вы находитесь на чистой Ubuntu, можно пропустить этот шаг.

Сборка

Сначала необходимо создать все зависимости:

make prepare

И затем можно создать Xamarin. Сам Android. Если Вы только хотите быть нацеленными на последний Android, работать:

make

(Целенаправленная версия является последней версией Android, поддерживаемой Вашим приложением. Таким образом, если Вы хотите записать приложения для версий Android от 7 до 10, Вы хотите быть нацеленными v10.0. Если Вы хотите смочь быть нацеленными на какую-либо версию Android, необходимо будет работать make jenkins вместо этого.)

Оба из тех шагов требуют существенного количества терпения и Интернет-соединения.

Установка

Наконец можно установить Xamarin. Android к Вашей системе:

sudo make install prefix=/usr

.

Использование Xamarin

Настройте проект

Протестировать ту нашу сборку на самом деле работает, мы хотим создать и развернуть фактический проект Xamarin. Идеал с этой целью является демонстрационными проектами в xamarin/monodroid репозитории. Поэтому давайте клонируем его:

git clone https://github.com/xamarin/monodroid-samples.git
cd monodroid-samples/Button

Добавьте поддерживаемый ABIs

По некоторым причинам мы должны добавить список поддерживаемого ABIs в файл проекта. Откройте его в редакторе:

nano DroidButton.csproj

И к первому PropertyGroup добавьте эту строку:

<AndroidSupportedAbis>armeabi-v7a;arm64-v8a;x86</AndroidSupportedAbis>

Если Вы не создавали с make jenkins, Вы также захотите измениться TargetFrameworkVersion кому: v10.0.

Сборка

msbuild

Развернуться

Любой запуск виртуальное устройство в менеджере AVD (доступный, например, через Studio Android), или подключение телефон в режиме отладки и затем выполненный:

msbuild /t:Install

Это должно установить приложение на Вашем телефоне. Если Вы хотите создать и развернуться с одной командой, можно использовать /t:Build,Install. Если Вы хотите передать дополнительные параметры ADB (например, для идентификации устройства, где развернуться), использовать /p:AdbTarget=[adb options], например: msbuild /t:Install /p:AdbTarget=-s1080c487.

.

Сводка

Таким образом, нам создали Xamarin! Это было долгим путешествием, не так ли? Полный неожиданностей, ухудшений и часто чистого страдания. Действительно ли это стоило того? Необходимо решить, но для меня это определенно было. Теперь, сделайте перерыв (только короткий, хотя!) и затем начинают создавать Ваше приложение мечты!

4
ответ дан 23 October 2019 в 09:42

Другие вопросы по тегам:

Похожие вопросы: