Integrating compiled libSDL3_mixer.so on Android Интеграция собранной библиотеки libSDL3_mixer.so на Android
A step-by-step guide to adding SDL3_mixer support to your Android project, handling asset copying via CMake, and playing audio on mobile devices. Пошаговое руководство по добавлению поддержки SDL3_mixer в ваш Android-проект, автоматической копировании ассетов через CMake и воспроизведению аудио на мобильных устройствах.
Step 1: Download Base Template and Rename Project Шаг 1: Скачивание базового шаблона и переименование проекта
First, download the base starter project template depending on your language preference: Сначала скачайте базовый шаблон проекта в зависимости от используемого языка:
Rename your project folder to integrate-sdl3-mixer-android-c (or integrate-sdl3-mixer-android-cpp).
Переименуйте папку проекта в integrate-sdl3-mixer-android-c (или integrate-sdl3-mixer-android-cpp).
Step 2: Update CMakeLists.txt Шаг 2: Обновление CMakeLists.txt
Open CMakeLists.txt in the root directory and update it to link both SDL3 and SDL3_mixer libraries:
Откройте CMakeLists.txt в корне проекта и обновите его для связывания обоих библиотек (SDL3 и SDL3_mixer):
Step 3: Configure Gradle Source Sets Шаг 3: Настройка Source Sets в Gradle
Open android-project/app/build.gradle and set the sourceSets block inside android { ... }. This instructs Gradle to bundle assets directly from the project's root assets folder:
Откройте android-project/app/build.gradle и настройте блок sourceSets внутри android { ... }. Это укажет Gradle упаковывать ассеты напрямую из корневой папки assets:
android {
namespace "com.example.myapp"
compileSdkVersion 35
defaultConfig {
// ...
}
// Direct Gradle to fetch assets straight from the root project folder
sourceSets {
main {
assets.srcDirs = ['../../assets']
}
}
externalNativeBuild {
cmake {
path '../../CMakeLists.txt'
}
}
}
Step 4: Setup Project Assets Шаг 4: Настройка ресурсов (Assets)
1. Create an assets/audio directory in your project's root folder.
1. Создайте директорию assets/audio в корневой папке проекта.
2. Download the required test audio files from OpenGameArt.org and place them in assets/audio/:
2. Скачайте необходимые тестовые аудиофайлы с OpenGameArt.org и поместите их в assets/audio/:
-
song18.mp3– Crystal Cave (Background Music) Crystal Cave (Фоновая музыка) -
qubodup-crash.ogg– Crash Collision (Sound Effect) Crash Collision (Звуковой эффект) -
spell3.wav– Spell 3 (Sound Effect) Spell 3 (Звуковой эффект)
Step 5: Write the C Source Code Шаг 5: Написание исходного кода на C
Replace the contents of src/main.c with the following code to initialize audio and play music using SDL3_mixer:
Замените содержимое файла src/main.c следующим кодом для инициализации аудио и воспроизведения музыки с помощью SDL3_mixer:
Step 6: Build and Run on Android Шаг 6: Сборка и запуск на Android
Run the provided helper scripts in your command prompt to compile the app and push it directly to your connected device: Запустите готовые батч-скрипты в командной строке для сборки и автоматической установки на подключенное устройство:
build-apk
install-apk
Once installed, tap the application icon on your smartphone to launch it and hear the audio playback. После завершения установки нажмите на иконку приложения на смартфоне, чтобы запустить его и услышать воспроизведение аудио.
Source Code Исходный код
You can explore the source code and download the complete project directly from the GitHub repositories: Вы можете изучить исходный код и скачать готовый проект напрямую из репозиториев на GitHub:
Support My Work Поддержать проект
If these tutorials helped you, consider buying me a coffee! Если эти туториалы вам помогли, вы можете поддержать автора.
Sberbank (Russia only) Сбербанк (только для РФ)
Direct transfer via phone number (Russia only) Перевод по номеру телефона (только для РФ)
USDT TRC20
Support via Cryptocurrency Поддержка криптовалютой