Скопируйте файлы в папку libs как часть скрипта сборки - PullRequest
1 голос
/ 21 февраля 2012

У меня есть приложение для Android, которое использует jni, и я пытаюсь автоматизировать процесс сборки в Eclipse (используя плагин cdt).Мне нужно собрать собственную статическую библиотеку, а также мне нужно использовать несколько предварительно скомпилированных библиотек.
Это означает, что мне нужно
a) собрать свою собственную разделяемую библиотеку (здесь нет проблем)
b) после сборкизавершено, скопируйте существующие библиотеки в папку libs / armeabi (поскольку эта папка будет очищена во время процесса сборки, я должен копировать эти файлы после каждой сборки)

У меня есть некоторые проблемы с b).Я пытаюсь вставить собственный сценарий оболочки (который работает, когда выполняется как есть) после включения $ (BUILD_SHARED_LIBRARY) в файл Android.mk.К сожалению, это не работает, потому что, по-видимому, папка / libs / armeabi очищается только после завершения файла Android.mk.

Это правда?Есть ли способ вставить скрипт пост-сборки в Android.mk?Можно ли каким-либо образом выполнить скрипт bash после завершения сборки кода jni, но до завершения всей сборки (например, до сборки части java и запуска приложения)?Хотя в настройках сборки проекта eclipse c / c ++ должен быть какой-то сценарий «после сборки», но такой вещи нет.

Вот полный файл Android.mk:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_LDLIBS := -llog

LOCAL_C_INCLUDES += $(LOCAL_PATH)

LOCAL_MODULE    := player
LOCAL_SRC_FILES := player.c

include $(BUILD_SHARED_LIBRARY)

$(shell ./copy-libs.sh) #this script will get called, but the files will be erased right after

1 Ответ

2 голосов
/ 07 марта 2012

Похоже, что существует более простой способ копирования .so и .a libs без использования пользовательских скриптов сборки.NDK поддерживает встроенные модули, начиная с ndk-r5, и позволяет при необходимости копировать библиотеки .a или .so в папку obj / lib в процессе сборки.

Пример и полное описание доступны в файле PREBUILTS.html внутри$ NDK_INSTALLATION_FOLDER / документы /.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...