具有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.