Как отключить бинарный переводчик на эмуляторе Android X86?

Я все еще получаю предупреждение требует библиотеку libhoudini от logcat, также я собрал всю библиотеку в arch x86.

На эмуляторе без поддержки Binary Translator — Log:

04-14 18:05:05.304: D/FFMpeg(992): ### Try to load lib: jniaudio
04-14 18:05:05.304: D/dalvikvm(992): Trying to load lib /data/data/com.app.test/lib/libjniaudio.so 0xa6a0d230
04-14 18:05:05.304: D/FFMpeg(992): Couldn't load lib: jniaudio - Cannot load library: load_library[1093]: Library '/system/lib/libhoudini.so' not found

На эмуляторе с установленной поддержкой Binary Translator — Log:

04-14 18:05:05.304: D/FFMpeg(992): ### Try to load lib: jniaudio
04-14 19:34:00.764: D/dalvikvm(1171): Trying to load lib /data/data/com.app.test/lib/libjniaudio.so 0xa68cbd98
04-14 19:34:00.804: E/dalvikvm(1171): The lib may be ARM... trying to load it [/data/data/com.app.test/lib/libjniaudio.so] using houdini
04-14 19:34:00.808: D/houdini(1171): [1171] Loading library(version: 2.0.5.42475 RELEASE)... successfully.
04-14 19:34:00.808: E/dalvikvm(1171): dvm_dlopen: unable to open /data/data/com.app.test/lib/libjniaudio.so

Application.mk

APP_ABI := x86
APP_PLATFORM := android-14

Я не могу загрузить собственные библиотеки на моем эмуляторе, но система ошибается при определении целевой архитектуры разделяемой библиотеки. Буду признателен, если кто-нибудь сможет объяснить.

ОБНОВЛЕНИЕ 1.

/obj/local/x86/libjniaudio.so — здесь информация заголовка разделяемой библиотеки.

ELF Header:
Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class:                             ELF32
Data:                              2's complement, little endian
Version:                           1 (current)
OS/ABI:                            UNIX - System V
ABI Version:                       0
Type:                              DYN (Shared object file)
Machine:                           Intel 80386
Version:                           0x1
Entry point address:               0x0
Start of program headers:          52 (bytes into file)
Start of section headers:          68664 (bytes into file)
Flags:                             0x0
Size of this header:               52 (bytes)
Size of program headers:           32 (bytes)
Number of program headers:         7
Size of section headers:           40 (bytes)
Number of section headers:         32
Section header string table index: 31

1

Решение

Вы на 100% уверены, что ваша библиотека представляет собой бинарный файл x86?

В этом случае двоичный переводчик не должен загружаться.

Вы можете проверить настоящий ABI ваших файлов, используя readelf, file или это приложение для Android, которое я сделал: https://play.google.com/store/apps/details?id=com.xh.nativelibsmonitor.app (только для x86)

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector