具有Android Studio版本2.2的C/C ++

问题描述:

使用Android Studio 2.2和它们添加的新C ++支持;我现在可以在android studio中编写和编译,还是需要分别编译和导入我的库

With Android Studio 2.2, and the new C++ support they added; can I now write and compile inside android studio, or do I need to compile and import my libraries separately

简短的回答:是的,可以.

Short answer: Yes, you can.

这是您可以做的 1
1)在Android Studio中,右键单击您的模块==>新建==>程序包
2)将包(文件夹)命名为cpp(或将其命名为jni)
3)您将在左侧看到cpp目录.
4)您可以在该文件夹中创建.cpp.h和其他文件.

Here is what you can do 1
1) In Android Studio, right click on your module ==> New ==> Package
2) name the package (folder) cpp (or you can name it jni)
3) you will see the cpp directory on the left.
4) You can create .cpp, .h and other files within that folder.

现在您必须告诉gradle如何构建它.
您需要安装CMake. 2
1)转到首选项==> Android SDK ==> SDK工具==> CMake
2)选择它,然后单击应用并确定"

Nowm you have to tell gradle how to build that.
You need install CMake. 2
1) Go to Preferences ==> Android SDK ==> SDK Tools ==> CMake
2) Select that and click Apply and Ok

现在,您需要在项目中添加一个CMakeLists.txt文件.
路径:my_project/app/CMakeLists.txt

Now, you need to add a CMakeLists.txt file to your project.
Path: 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:

And final step: add the following to your build.gradle:

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

您应该现在就可以构建它.

You should be able to build it now.