【发布时间】:2015-09-01 03:01:09
【问题描述】:
我的应用具有以下结构
Android
|
|-> app
| |
| |-> build [1]
| |-> src
| | |-> main
| | | |-> assets
| | | |-> java
| | | |-> jni
| | | | |-> Android.mk
| | | | |-> Application.mk
| | | |
| | | |-> jniLibs
| | | | |-> armeabi
| | | | |-> armeabi-v7a
| | | |
| | | |-> res
| | | |-> AndroidManifest.xml
|
|-> build [2]
我正在 Linux 机器中使用 ndk-build 命令构建我的 .so 库。我像这样使用它:
<my_ndk_path>/ndk-build -C <my_project_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
我希望输出在不同的位置产生:
-
libsjniLibs。 IE。./app/src/main/<em>jniLibs</em>/armeabi* - 构建文件夹之一下的
obj。 IE。build[1] 或build[2]。
是否有任何可能的方法通过将某些参数更改为.mk 文件或构建命令来实现?
编辑
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'
【问题讨论】:
标签: android android-gradle-plugin ndk-build