У меня есть проект библиотеки Android, часть которого написана на C/C++ через Android NDK. Я хочу создать собственный код для всех архитектур. Если я устанавливаю minSdkVersion
на 21, все работает нормально. но мне нужно иметь более низкий minSdkVersion
(SDK 19), если я установлю minSdkVersion
на 19, версия ARM64-v8a не будет собрана. Я знаю, что нет устройств ARM64-v8a с SDK 19. Как я могу добиться, чтобы все платформы были построены в одном APK и имели minSdkVersion
19?
Android NDK: Как собрать для ARM64-v8a с minimumSdkVersion = 19
Ответы (1)
На самом деле в "minimumSdkVersion" опечатка. Правильный атрибут: "minSdkVersion".
Однако библиотека arm64-v8a должна быть успешно собрана для API 19. , потому что скрипты сборки NDK автоматически берут правильный набор заголовков и библиотек платформы.
Если вы используете скрипты сборки Gradle, попробуйте установить его в качестве одного из целевых ABI: ndk {
abiFilters 'arm64-v8a', 'armeabi-v7a'
}
Затем явно укажите целевую платформу для нативной сборки.
Если вы используете CMake, то в скрипте gradle установите: externalNativeBuild {
cmake {
arguments '-DANDROID_PLATFORM=android-19'
}
}
Если вы используете ndk-build, то в своем Application.mk установите:
APP_PLATFORM := android-19
Надеюсь, это поможет. Пожалуйста, напишите подробности, если не будет строиться.