Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Как скомпилировать и добавить raylib в проэкт андроид?

Всем привет у меня несколько вопросов я разработчик на c++ и хочу уже делать игру не на пк а на android у меня уже есть и ndk и msys2 а и я хочу делать это без android studio так как по мне он только мешает и я уже скомпилировал простое консольное приложение для adb и всё работает но во что я хочу теперь и что я хочу узнать: 1. Я хочу понять можно ли создавать простую структуру проэкта то есть главная папка game в ней src, libs, include и всё а в них в src лежит main.cpp и main, в libs файлы типа libc++_shared.a и libraylib, а в include файл raylib.h?!. 2. Есть ли где в интернете уже скомпилированый исходник raylib для android armv7a и как я понял версии api 21?. 3. Если ответ на второй вопрос нет то как легчайше скомпилировать его под андроид с указанными данными и если можно без make/cmake?. 4. как потом превратить это в apk без изменения структуры и добавления чего-то ещё?.

P.s Сразу спосибо всем кто хоть чем-то помог!

По дате
По рейтингу
Аватар пользователя
Ученик
2мес

Ты, похоже, не боишься пойти по пути, который будет сложнее, чем просто использовать Android Studio, и хочешь как настоящий крокодил-разработчик проплыть через этот кодовый омут самостоятельно. Хочешь избежать всего этого "гламура" и использовать чистый C++, чтобы скомпилировать Raylib для Android? Ну что ж, вот несколько полезных советов, которые ты явно оценишь, гений ручного труда.
1. Структура проекта
Да, конечно, ты можешь организовать проект так, как тебе удобно. Структура вроде:
game/
├── src/
│ └── main.cpp
├── libs/
│ ├── libc++_shared.a
│ └── libraylib.a
├── include/
│ └── raylib.h
Такой проект вполне жизнеспособен. Главное, чтобы твой компилятор знал, где искать raylib.h и библиотеки libraylib.a, а также был настроен на использование правильной версии libc++_shared.a. Тебе нужно будет указать пути к этим файлам через флаги компилятора (-I для include, -L для libs) и подключить нужные библиотеки при компиляции.
2. Скомпилированный исходник raylib для Android
На самом деле, готовых скомпилированных версий Raylib для Android ARMv7a с API 21 на GitHub или других ресурсах ты, скорее всего, не найдешь. Raylib не так широко распространён, чтобы кто-то за тебя это уже сделал. Но не переживай, путь к счастью ещё существует.
3. Компиляция Raylib под Android
Ну что ж, теперь о самом важном. Чтобы собрать Raylib под Android без Make или CMake, тебе всё равно потребуется NDK и Android toolchain. Если ты настроил всё для работы с консольным приложением, тебе будет проще компилировать Raylib вручную.
Вот как ты можешь это сделать:
Скачай исходники Raylib:
Перейди на GitHub репозиторий Raylib.
Скачай или клонируй репозиторий.
Настрой NDK для компиляции:
Внутри папки с исходниками Raylib будет папка build, в которой есть скрипты для сборки. Но тебе нужно будет вручную настроить флаги компилятора и пути:
В NDK, ты будешь использовать ndk-build или clang для компиляции.
Для Android тебе нужно будет указать android-21 как минимальный API и компилировать под ARMv7 или ARM64, в зависимости от архитектуры.
Пример команды для компиляции:
$ export NDK=/path/to/ndk
$ $NDK/ndk-build NDK_PROJECT_PATH=./ raylib
Дополнительные флаги:
Убедись, что используешь флаги для корректной компиляции под Android:
-target armv7a-linux-androideabi21 для ARMv7.
Укажи -I/path/to/ndk/sysroot/usr/include для заголовочных файлов.
Создание библиотеки:
После успешной компиляции получишь libraylib.a, которая готова для использования в проекте.
4. Превращение в APK
Теперь, когда у тебя есть скомпилированная версия Raylib, вопрос превращения в APK становится простым.
Ты можешь использовать Android NDK для создания APK, но тебе всё равно понадобится небольшая структура для правильной упаковки.
Создай AndroidManifest.xml:
Тебе нужно будет создать минимальный AndroidManifest.xml, чтобы указать базовые настройки для APK.
Собери с использованием ndk-build:
В этом процессе ты будешь указывать свой исходный код и библиотеки, компилируя всё в APK:
bash
Копировать
Редактировать
$ ndk-build NDK_PROJECT_PATH=./
Конвертация в APK:
После того как твой проект соберётся в .so файлы и другие ресурсы, нужно будет упаковать всё это с помощью zipalign и apksigner, чтобы получить готовое APK.
Заключение
Ты, как настоящий энтузиаст, хочешь делать всё вручную, но, к сожалению, никто не обещал, что будет легко. Компиляция Raylib для Android без CMake или Make — это настоящий подвиг, но если ты не боишься глубоких настроек и готов к борьбе с инструментами сборки, тебе это под силу.
Вариантов два:
Либо ты сдался и будешь использовать Android Studio, что, конечно, намного легче, чем тащить весь этот процесс на своих плечах.
Либо ты, как истинный искатель приключений, продвигаешься дальше по пути ручной настройки и собираешь свой проект с флагом "сделано своими руками".