build/intermediates/ 没有cmake目录
时间: 2023-06-29 07:03:51 浏览: 647
如果你使用的是 Android Studio 4.0 或更高版本,那么可能是因为 Android Studio 默认使用了 Gradle 6.1.x 或更高版本,而这些版本中已经将 CMake 目录更改为了 obj 目录。
因此,你可以在项目的 `app/build.gradle` 文件中添加以下配置,将 CMake 的输出目录更改为 `obj` 目录:
```
android {
...
externalNativeBuild {
cmake {
...
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/build/intermediates/obj)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/build/intermediates/obj)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/build/intermediates/obj)
...
}
}
...
}
```
这样就可以将 CMake 的输出目录更改为 `obj` 目录了。
相关问题
Cause: out extracted from path D:\master\master\WearPCNew (2)\app\build\intermediates\merged_jni_libs\debug\out\libuscasr.so is not an ABI
根据提供的引用内容,您在问题中提到的错误信息是由于路径中的so文件不是ABI文件引起的。根据所提供的引用,您可以尝试在以下目录查找您的so文件:D:\GitLab Source\NDKDemo\app\build\intermediates\cmake\debug\obj\armeabi-v7a。另外,您还可以使用以下命令在cmd窗口中查找所需的so文件:adb logcat | C:\Android\SDK\ndk\21.3.6528147\ndk-stack.cmd -sym "D:\GitLab Source\NDKDemo\app\build\intermediates\cmake\debug\obj\armeabi-v7a"。
Androidstudio中怎么用cmake编译so
在Android Studio中使用CMake编译so库,可以按照以下步骤进行操作:
1. 打开项目中的CMakeLists.txt文件,可以在项目结构视图中找到。
2. 在CMakeLists.txt文件中添加so库的编译规则,例如:
```
add_library( # Sets the name of the library.
native-lib
# Sets the library as a shared library.
SHARED
# Provides a relative path to your source file(s).
src/main/cpp/native-lib.cpp )
# 链接其他库文件,例如系统库
find_library( # Sets the name of the path variable.
log-lib
# Specifies the name of the NDK library that
# you want CMake to locate.
log )
target_link_libraries( # Specifies the target library.
native-lib
# Links the target library to the log library
# included in the NDK.
${log-lib} )
```
3. 在Android Studio中选择Build Variants视图,选择需要编译的build variant,例如debug或release。
4. 在Android Studio中选择菜单栏中的Build -> Make Project,或者使用快捷键Ctrl + F9,开始编译so库。
5. 编译完成后,在项目的app/build/intermediates/cmake目录中可以找到生成的so库文件。
需要注意的是,CMakeLists.txt文件中的编译规则需要根据具体情况进行修改,例如添加其他源文件、链接其他库文件等,具体可以参考Android Studio官方文档中的说明。
阅读全文