У меня есть немного необычная проблема - мое приложение для Android содержит собственные библиотеки, и я создаю собственные libs для armeabi-v7a и x86. Однако теперь мне нужно интегрировать стороннюю библиотеку в мое приложение, которое также содержит собственные библиотеки (сторонняя библиотека Crashlytics, которую я включил через Maven из моей сборки. Gradle.). Проблема заключается в том, что сторонняя библиотека AAR предоставляет все архитектуры (armeabi, arm64-v8a, armeabi-v7a, mips, mips64, x86 и x86_64), и мое приложение поддерживает только armeabi-v7a и x86 (arm64-v8a запланировано на ближайшее будущее), поэтому, когда окончательный apk построен, он содержит стороннюю библиотеку всех ABI и только x86 и armeabi-v7a ABI моего собственного кода. Это приводит к сбою моего приложения при запуске на устройстве arm64, таком как Galaxy S6.
Мой вопрос: возможно ли включить только выбранный ABI из стороннего AAR?
Обратите внимание, что я знаю APK-расщепление, но это частично решает мою проблему, т.е. работает, только если я распространяю свое приложение через Play Store. Хотя Play Store поддерживает бета-тестирование, распространение обновленного APK довольно медленное, поэтому, прежде чем подталкивать обновление к бета-каналу PlayStore, мы выталкиваем обновление через бета-систему распространения Crashlytics, которая намного быстрее. Проблема в том, что система распределения Crashlytics не поддерживает разделение APK (или я ошибаюсь?). Поэтому мне действительно нужно создать "универсальный" APK, который будет содержать только выбранные ABI. Как достичь этого?
Хотя я был бы удовлетворен даже конкретными ответами Crashlytics (например, как распределять APK-расщепления через их бета-канал), я был бы гораздо более удовлетворен решением для создания "универсального" APK, который содержит только выбранные ABI, потому что в нашей компании мы также предоставляем SDK нашим клиентам в виде архивов AAR, которые содержат только поддерживаемые архитектуры, и мы хотели бы проинструктировать их о том, как обрабатывать случай, когда они интегрируют наш SDK с другими SDK, поддерживающими различные ABI.
Я использую последние стабильные версии Android studio (1.2.1.1), gradle 2.4 и android gradle версии 1.2.3.