Андроид родной lib не установлен с APK

Я создал проект библиотеки Android, который использует некоторые собственные библиотеки.

Я создал jni-обертку и поместил собственные libs (.so) в папки libs //. Нативные библиотеки скомпилированы с использованием cmake, для armeabi, armeabi-v7a, x86 и mips.

Я экспортирую этот проект в банку и помещаю эту банку в «обычный» проект Android. Затем я экспортирую этот проект в apk и вижу, что мои библиотеки связаны с ним.

Тем не менее, когда я устанавливаю apk, libs, соответствующие устройству, не копируются в /data/data/com.my.app/lib и, очевидно, при запуске приложения жалуются на то, что не найдут libs (UnsatisfiedLinkError).

Я просматриваю SO и везде, где могу, но не нашел ответа, который разрешил мое дело.

Я использую Eclipse, btw

Спасибо за вашу помощь

ОБНОВИТЬ

Хорошо, я прочитал документ в ndk и увидел примеры, и, к сожалению, я не вижу решения.

Ndk строит код c в общие библиотеки и помещает их в выделенное место в проекте. Но он не генерирует ничего, что говорит о том, что libs должен быть установлен с apk.

Моя цель – предоставить библиотеку android (например, банку), которая может быть включена в приложение для Android. Я не вижу реальной разницы между тем, что я делаю (скомпилируйте c libs с помощью cmake и упакуйте jni и java скомпилированные классы в банку) и что делается с android.mk

Если вы видите, что мне не хватает, не стесняйтесь говорить мне (даже если это очевидно).

благодаря

ОБНОВИТЬ

Я сделал грязный взлом: в папке libs моего приложения я поместил файл jar, содержащий мои классы и мои собственные библиотеки, и копию файлов .so для каждой арки. Suprise, libs не установлены в /data/data/com.me.myapp/lib

Кажется, что это проблема упаковки.

Я экспортирую этот проект в банку и помещаю эту банку в «обычный» проект Android. Затем я экспортирую этот проект в apk и вижу, что мои библиотеки связаны с ним.

Проблема в том, что система упаковки Android не обрабатывает двоичные активы в JAR. Чтобы ваш проект приложения мог найти и включить сгенерированные файлы .so , вам нужно, чтобы он ссылался на проект библиотеки как «проект библиотеки Android»: Введите описание изображения здесь

Вы вызвали команду ndk-build?

Подробнее см. Описание ниже.

http://developer.android.com/tools/sdk/ndk/index.html

Вы можете создавать общие библиотеки для примеров приложений, перейдя в / samples //, затем вызывая команду ndk-build . Сгенерированные совместно используемые библиотеки будут расположены в / samples // libs / armeabi / for (машинный код ARMv5TE) и / или / samples // libs / armeabi-v7a / for (машинный код ARMv7).