Building TinyXML2 Shared Library for Android (NDK & CMake) Сборка динамической библиотеки TinyXML2 для Android (NDK и CMake)

A guide to compiling TinyXML2 source code into a shared library (libtinyxml2.so) for Android using CMake and NDK. Руководство по компиляции исходного кода TinyXML2 в динамическую библиотеку (libtinyxml2.so) для Android с помощью CMake и NDK.

If you haven't set up MinGW and CMake on your machine, follow the Если вы еще не настроили MinGW и CMake на своем компьютере, следуйте инструкции: MinGW & CMake Setup Guide Руководство по настройке MinGW и CMake
If you haven't set up your environment (Android SDK, NDK, JDK), follow the Если вы еще не настроили окружение (Android SDK, NDK, JDK), следуйте инструкции: Environment Setup Guide Руководство по настройке окружения

Step 1: Download TinyXML2 Source Code Шаг 1: Скачивание исходного кода TinyXML2

Download the latest TinyXML2 source archive (.zip or .tar.gz) from the official GitHub releases page: Скачайте последний архив с исходным кодом TinyXML2 с официальной страницы релизов GitHub:

Download TinyXML2 Releases Скачать релизы TinyXML2

Extract the downloaded archive to a convenient directory on your machine. Распакуйте скачанный архив в удобную директорию на вашем компьютере.

Step 2: Create the Build Script Шаг 2: Создание скрипта сборки

In the root directory of the extracted TinyXML2 source folder, create an empty file named build-android-arm64-so.bat and paste the following content into it: В корневой директории распакованного исходного кода TinyXML2 создайте пустой файл build-android-arm64-so.bat и вставьте в него следующее содержимое:

@echo off
set NDK=H:/AndroidSDK/ndk/28.2.13676358

set BUILD_DIR=build-android-64

if exist %BUILD_DIR% rmdir /s /q %BUILD_DIR%
mkdir %BUILD_DIR%
cd %BUILD_DIR%

cmake .. ^
  -DCMAKE_TOOLCHAIN_FILE=%NDK%/build/cmake/android.toolchain.cmake ^
  -DANDROID_ABI=arm64-v8a ^
  -DANDROID_PLATFORM=android-24 ^
  -DBUILD_SHARED_LIBS=ON ^
  -DBUILD_STATIC_LIBS=OFF ^
  -DBUILD_TESTS=OFF ^
  -DCMAKE_BUILD_TYPE=Release ^
  -DCMAKE_INSTALL_PREFIX="C:/libs/tinyxml2-11.0.0-android/arm64-v8a" ^
  -G "MinGW Makefiles"

cmake --build . --config Release --parallel --target install
Note: Примечание: Make sure to adjust the NDK path and CMAKE_INSTALL_PREFIX according to your local environment paths. Setting -DBUILD_SHARED_LIBS=ON and -DBUILD_STATIC_LIBS=OFF produces a shared library (libtinyxml2.so). Убедитесь, что пути к NDK и CMAKE_INSTALL_PREFIX соответствуют вашему локальному окружению. Флаги -DBUILD_SHARED_LIBS=ON и -DBUILD_STATIC_LIBS=OFF собирают динамическую библиотеку (libtinyxml2.so).

Step 3: Run and Compile Шаг 3: Запуск и сборка

Run build-android-arm64-so.bat via Command Prompt (CMD). Once completed, your compiled shared library (libtinyxml2.so) along with headers will be installed in C:/libs/tinyxml2-11.0.0-android/arm64-v8a/. Запустите build-android-arm64-so.bat через командную строку (CMD). После завершения собранная динамическая библиотека (libtinyxml2.so) вместе с заголовочными файлами будет установлена в C:/libs/tinyxml2-11.0.0-android/arm64-v8a/.

Step 4: Next Steps Шаг 4: Следующие шаги

Now you can link libtinyxml2.so into your Android game project using CMake: Теперь вы можете подключить libtinyxml2.so в ваш проект Android через CMake:

add_library(tinyxml2 SHARED IMPORTED)
set_target_properties(tinyxml2 PROPERTIES
    IMPORTED_LOCATION "${TINYXML2_PATH}/lib/libtinyxml2.so"
    INTERFACE_INCLUDE_DIRECTORIES "${TINYXML2_PATH}/include"
)

target_link_libraries(app PRIVATE tinyxml2)

Support My Work Поддержать проект

If these tutorials helped you, consider buying me a coffee! Если эти туториалы вам помогли, вы можете поддержать автора.

Sberbank (Russia only) Сбербанк (только для РФ)

Sberbank SBP QR Code

Direct transfer via phone number (Russia only) Перевод по номеру телефона (только для РФ)

+7 (917) 212-29-59

USDT TRC20

USDT TRC20 QR Code

Support via Cryptocurrency Поддержка криптовалютой

TMtY1YifNf6FKvgeFmqKGQR4NStKr3csGp