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

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

Make sure you have set up the required tools and environment by following these instructions: Убедитесь, что вы настроили необходимые инструменты и окружение, следуя этим инструкциям:

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

Check and download the latest tag release (1.6.0) directly from the official WebP repository tags page on GitHub: Проверьте и скачайте последнюю версию (1.6.0) напрямую со страницы тегов WebP на GitHub:

Open WebP Tags (GitHub) Открыть теги WebP (GitHub) Direct Download libwebp-1.6.0 (.zip) Прямое скачивание libwebp-1.6.0 (.zip)

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 WebP source folder, create an empty file named build-android-64-bit.bat and paste the following content into it: В корневой директории распакованного исходного кода WebP создайте пустой файл build-android-64-bit.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%

call cmake .. ^
  -DCMAKE_TOOLCHAIN_FILE=%NDK%/build/cmake/android.toolchain.cmake ^
  -DANDROID_ABI=arm64-v8a ^
  -DANDROID_PLATFORM=android-21 ^
  -DBUILD_SHARED_LIBS=ON ^
  -DWEBP_BUILD_CWEBP=OFF ^
  -DWEBP_BUILD_DWEBP=OFF ^
  -DWEBP_BUILD_GIF2WEBP=OFF ^
  -DWEBP_BUILD_IMG2WEBP=OFF ^
  -DWEBP_BUILD_VWEBP=OFF ^
  -DWEBP_BUILD_WEBPINFO=OFF ^
  -DWEBP_BUILD_WEBPMUX=OFF ^
  -DWEBP_BUILD_ANIM_UTILS=OFF ^
  -DWEBP_BUILD_EXTRAS=OFF ^
  -DWEBP_BUILD_LIBWEBPMUX=ON ^
  -DWEBP_NEAR_LOSSLESS=ON ^
  -DWEBP_ENABLE_SIMD=ON ^
  -DCMAKE_BUILD_TYPE=Release ^
  -DCMAKE_INSTALL_PREFIX=C:/libs/webp-1.6.0-android/arm64-v8a ^
  -G "MinGW Makefiles"

call 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. Убедитесь, что пути к NDK и CMAKE_INSTALL_PREFIX соответствуют вашему локальному окружению.

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

Run build-android-64-bit.bat via Command Prompt (CMD) so you can catch any potential compilation errors in the console. Once completed, your compiled shared library (libwebp.so) along with headers will be installed in the output path set by CMAKE_INSTALL_PREFIX. Запустите build-android-64-bit.bat через командную строку (CMD), чтобы вы могли увидеть возможные ошибки сборки прямо в консоли. После завершения собранная динамическая библиотека (libwebp.so) вместе с заголовочными файлами будет установлена по пути, указанному в CMAKE_INSTALL_PREFIX.


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