Только запуск Gradle не создаст отсутствующий
jniLibs; пожалуйста, сначала завершите собственную сборку при первой сборке. Экологические требования
Текущее приложение собирает только
arm64-v8a, а соответствующая цель Rust — aarch64-linux-android.
Подготовьте склад
1
Получить исходный код
2
Настройка Android SDK
Установите API 37, NDK 30.0.14904198 и CMake 3.22.1, затем создайте NDK автоматически определит местоположение по
local.properties в корневом каталоге репозитория:android.ndkVersion в gradle.properties.3
Подготовка к Go и Rust
.github/patch/ до go env GOROOT. CI автоматически выполняет этот шаг перед созданием собственного компонента.Выполните в Git Bash или WSL:4
Синхронизировать Михомо
Выберите канал ядра. Альфа используется по умолчанию:Вы также можете использовать мета:
Создание собственных компонентов
Полная сборка
Полная сборка создаст все собственные библиотеки и загрузит географические данные:
Встроенная отладка создает только текущий ABI:
jniLibs/arm64-v8a/ должен содержать:
Географические данные расположены по адресу
build/generated/assets/geo/:
Сборка APK
###Отладка Debug подходит для локальной установки и отладки:Релиз
Release обеспечивает сжатие и сокращение ресурсов:Варианты геоданных
Оба варианта используют один и тот же код приложения и ядро; единственная разница заключается в том, упакованы ли географические ресурсы в APK.
APK выводит на:
YumeBox-external.apk или YumeBox-builtin.apk. Фактическое имя файла зависит от выходного каталога.
Подпись выпуска
Локальную проверку не нужно настраивать с помощью формальной подписи; для публикации APK требуютсяrelease.keystore и signing.properties в корневом каталоге хранилища:
Не отправляйте
release.keystore или signing.properties. CI-сборка
CI использует
arm64-v8a и записывает информацию о версии сборки через build.number, build.hash и build.branch.
Проверьте установку
app/build/outputs/apk/.
Часто задаваемые вопросы
Дополнительные сведения об ошибках сборки см. в FAQ.
