Java — не удается загрузить библиотеку: soinfo_relocate (linker.cpp: 987): невозможно найти символ & quot; wait4 & quot; ссылается на & quot; libcoresdkinterface-jni.so

Я добавляю поддержку Jelly Beans в приложение Android Kitkat. Я упомянул версию minsdk как 16 и версию targerSdk как 19. В настоящее время я собираю ее на уровне API 19. После сборки, когда я запускаю ее на своем устройстве Jelly Bean, происходит сбой с ошибкой, упомянутой в заголовке этого вопроса.

Я узнал, что для того, чтобы избежать этой ошибки, мне нужно создать свой собственный набор инструментов для Android, сгенерированный для API уровня 16 (поскольку Jelly Beans начинается с API уровня 16). У меня есть Android NDK Версия Android-ndk-r10d. Поэтому я пошел в свой каталог NDK и использовал следующую команду, чтобы создать автономную цепочку инструментов для уровня API 16.

build/tools/make-standalone-toolchain.sh --toolchain=arm-linux-androideabi-4.8 --platform=android-16 --install-dir=/usr/lo0cal/android-toolchain-16/

Над командой создан каталог с именем android-toolchain-16/ in /usr/local/, Я добавил путь /usr/lo0cal/android-toolchain-16/bin к моей переменной PATH.

Затем я продолжил и создал свой родной язык, используя скрипт, который у меня есть. Затем я собрал свое приложение и попробовал. Но это все еще падает. Нужно ли скачивать более низкую версию Android NDK? Потому что сейчас я использую android-ndk-r10d. Как я обнаружил в Интернете, android-ndk-8b был выпущен сразу после API уровня 16.

Или что еще я могу сделать? Я использую OS X 10.9.5 с i5 (64 бит).

0

Решение

Я получил ответ на проблему. Функция wait4 происходит из файла wait.h, который присутствует в моем SYSROOT в двух местах: — $ SYSROOT / usr / include / linux / wait.h $ SYSROOT / usr / include / sys / wait.h. У wait.h из папки ‘sys’ есть определение метода wait4. В моем случае он включал wait.h из папки ‘linux’. Как только я изменю #include «wait.h» на #include «sys / wait.h». Оно работает.

0

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

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

По вопросам рекламы [email protected]