Houdini arm to x86 переводит "Неподдерживаемая функция" ошибка при использовании общего STL в приложении Android NDK
Я создал проект Android Studio из этого примера проекта NDK, предоставленного Google, и изменил несколько вещей, чтобы попытаться использовать перевод Houdini arm на x86:
- В
app/build.gradle
Я поставилabiFilters
вarmeabi-v7a
, - В
Application.mk
Я изменилсяAPP_ABI
отall
вarmeabi-v7a
так что собственные библиотеки x86 не будут созданы. - Также в
Application.mk
, Я изменилсяAPP_STL
отstlport_static
вgnustl_shared
,
Вы можете увидеть модифицированный код в этом репо.
Затем я запустил приложение в эмуляторе BlueStacks, который поддерживает Houdini. Я получаю следующую ошибку:
11-21 00:42:19.742 9947-9947/? D/houdini: [9947] Loading library(version: 4.0.8.45720 RELEASE)... successfully.
11-21 00:42:19.742 9947-9947/? D/houdini: [9947] Unsupported feature (ID:0x10600cae).
11-21 00:42:19.742 9947-9947/? D/houdini: [9947] Open Native Library /data/app-lib/com.sample.teapot-2/libTeapotNativeActivity.so failed.
...
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sample.teapot/com.sample.teapot.TeapotNativeActivity}: java.lang.IllegalArgumentException: Unable to load native library: /data/app-lib/com.sample.teapot-2/libTeapotNativeActivity.so
Если я сделаю APP_STL
любое из поддерживаемых значений с shared
Я получаю эту ошибку, и с static
это работает отлично. Я хотел бы получить shared
работает, чтобы решить эту проблему в React Native. Общий STL не работает с Houdini? Есть обходные пути?