gpt4 book ai didi

android - 更改 ndk-build 输出位置

转载 作者:IT老高 更新时间:2023-10-28 23:19:03 24 4
gpt4 key购买 nike

我的应用具有以下结构

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_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

我希望输出在不同的位置产生:

  1. libsjniLibs .IE。 ./app/src/main/<em>jniLibs</em>/armeabi*
  2. 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'

最佳答案

您可以使用 NDK_LIBS_OUT 来更改 libs 输出和 NDK_OUT 来更改 obj 输出。就像这样:ndk-build NDK_LIBS_OUT=./jniLibs NDK_OUT=./obj

关于android - 更改 ndk-build 输出位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30865110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com