android - 如何将多个cmake目标添加到android ndk项目
问题描述
所以我开始了一个android ndk项目,another_lib
除了native-lib
新项目自带的模块外,还添加了一个新模块,我有一个cmakelists.txt
如图所示的文件,内容是:
cmake_minimum_required(VERSION 3.4.1)
add_subdirectory(another_lib)
add_subdirectory(native_lib)
对于每个子目录,我都定义了一个构建目标。然后在我的build.gradle
我有
externalNativeBuild {
cmake {
path "src/main/cpp/CMakeLists.txt"
}
}
但是,当我构建项目时,它只构建native_lib
. 我是否错过了添加我自己的模块来构建的任何内容?
解决方案
这是android无法创建静态库的问题,除非它被添加到build.gradle文件中,对我来说我需要添加一行:
externalNativeBuild {
cmake {
...
targets "native-lib", "anotherlib"
}
}
有关为什么 android studio 无法构建静态库的更多详细信息,请参阅此处 如何使用 CMake 在 Android Studio 3.2 中创建静态库(.a 文件)
推荐阅读
- elasticsearch - 在 ES 查询过滤器上使用 match_phrase 两次?没有为 [match_phrase] 注册过滤器
- c# - C# 重构代码以使泛型可重用
- r - lm.fit(x,y,offset = offset,singular.ok =singular.ok,...)中的错误:r 中的 0(非 NA)案例重复测量方差分析
- java - 如何通过 LWJGL 绘制立方体?
- python - 使用 JOIN 的混合属性表达式
- java - TensorFlow Lite Android 应用程序崩溃,并在空对象引用上出现 NullPointerException 'void android.widget.TextView.setText(java.lang.CharSequence)'
- python - 将数据从 python 发送到 MySQL 后返回“None”行
- javascript - 如何将 parent.postMessage("Hello from child window", "*") 消息捕获到子窗口中
- amazon-web-services - AWS Athena:仅过滤列上的数字条目
- python - IO 密集型任务的多线程和 CPU 密集型任务的多处理