Мое приложение имеет следующую структуру
Android
|
|-> app
| |
| |-> build [1]
| |-> src
| | |-> main
| | | |-> assets
| | | |-> java
| | | |-> jni
| | | | |-> Android.mk
| | | | |-> Application.mk
| | | |
| | | |-> jniLibs
| | | | |-> armeabi
| | | | |-> armeabi-v7a
| | | |
| | | |-> res
| | | |-> AndroidManifest.xml
|
|-> build [2]
Я создаю библиотеки .so
с помощью команды ndk-build
в Linux-машине. Я использую его как:
<my_ndk_location_path>/ndk-build -C <my_project_location_path>/Android/app/src/main/
Процесс сборки работает отлично, и выходные файлы создаются без ошибок.
Моя проблема заключается в том, что файлы результатов не "направлены в правильное положение"
libs
, сгенерированный при:
.app/src/main/libs/armeabi-v7a/libMyGeneratedLibrary.so
.app/src/main/libs/armeabi/libMyGeneratedLibrary.so
и obj
файлы:
.app/src/main/obj/local/armeabi-v7a/libMyGeneratedLibrary.so
.app/src/main/obj/local/armeabi/libMyGeneratedLibrary.so
Я хотел бы, чтобы результат производился в разных местах:
-
libs
вjniLibs
. то есть../app/src/main/jniLibs/armeabi*
-
obj
в одной из папок сборки. то есть.build
[1] илиbuild
[2].
Есть ли какой-либо возможный способ добиться этого, изменив какой-либо параметр на файлы .mk
или на команду сборки?
Edit
TARGET_OUT
, похоже, не работает в NDK r6b
Выполнение команды ndk-build -C Android/app/src/main/ TARGET_OUT='Android/app/src/main/jniLibs/$(TARGET_ARCH_ABI)'
Предупреждения, как показано ниже для каждого сгенерированного файла.
android-ndk-r6b/build/core/build-binary.mk:217: warning: overriding commands for target 'Android/app/src/main/jniLibs//objs/***/****.o'
android-ndk-r6b/build/core/build-binary.mk:217: warning: ignoring old commands for target 'Android/app/src/main/jniLibs//objs/***/****.o'