繁体   English   中英

Android Studio重命名本机库

[英]Android Studio rename native library

我已经创建了一个具有C ++支持且带有一个库模块的Android Studio项目。 一个名为native-lib.cpp C ++文件已自动添加到我的项目中。 现在构建项目时,*。so文件的输出名称为libnative-lib.so

如果我将native-lib.cpp重命名为其他任何名称(使用重构/重命名功能),则C ++文件将从我的项目中消失,直到我将其更改回该名称为止。

那么,如何重命名本机库或设置输出文件的名称呢?

我很高兴您能够弄清楚。 无论如何,我都会在此处发布答案以供参考。

CMakeLists.txt << =应该在您的应用模块的根目录中( my_project/app/CMakeLists.txt

# https://developer.android.com/studio/projects/add-native-code.html#create-cmake-script


# Minimum version of CMake
cmake_minimum_required(VERSION 3.4.1)


# adding CEC library
# add_library structure:    add_library(lib_name  lib_type_STATIC_or_SHARED  source_file_path)
add_library(my_lib_name SHARED src/main/jni/my_cpp_file.cpp)


# include_directories is to provide the path to you native lib code
# include_directories structure:    include_directories(native_lib_folder_path)
include_directories(src/main/jni/)


# adding Android log library
# find_library is used to find NDK API libraries (built in NDK libs)
# find_library structure:   find_library(name_you_want_to_call_the_lib  lib_name_in_ndk_api)
find_library(log-lib log)


# linking log lib to our native lib
# once you find the library, you have to link that library with your native library
# target_link_libraries structure:  target_link_libraries(you_native_lib  lib_found_using_find_library)
target_link_libraries(my_lib_name ${log-lib})

然后在build.gradle中,执行以下操作

externalNativeBuild {
    cmake {
        path 'CMakeLists.txt'
    }
}

然后,进行完全清理,并使用“生成”菜单中提供的选项刷新C ++项目。

就像@bitwise发布一样,如果需要,请删除build.externalNativeBuild文件夹的内容,然后重新生成项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM