上次提到AndroidStudio2.2进行NDK开发超方便的配置方式,不用进行Android.mk 配置,也不用进行Application.mk配置,只要配置CMakeList即可。那么问题来了,通过该方式生成的配置文件默认是只native-lib.cpp一个cpp文件的,那么怎么配置编译多个.cpp文件呢?
以之前发布的
NDK下获取IEIM并且使用MD5算法加密
为例,我们另外需要MD5.cpp和IEIM.cpp, 将工程在AndroidStudio2.2中编写好后,编译,(⊙o⊙)哦!
密集恐惧症要来了, 忍住,一定要忍住。。。。
这个错是啥意思 仔细分析 其实就是找不到MD5.cpp和IEIM.cpp中的方法啦。
怎么解决呢?
Module下有一个CMakeLists.txt 的文件 默认内容是这样的,(只贴了需要改动的部分)
cmake_minimum_required(VERSION 3.4.1)
# Creates and names a library, sets it as either STATIC
# or SHARED, and provides the relative paths to its source code.
# You can define multiple libraries, and CMake builds it for you.
# Gradle automatically packages shared libraries with your APK.
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).
# Associated headers in the same location as their source
# file are automatically included.
src/main/cpp/native-lib.cpp )
改为
cmake_minimum_required(VERSION 3.4.1)
# Creates and names a library, sets it as either STATIC
# or SHARED, and provides the relative paths to its source code.
# You can define multiple libraries, and CMake builds it for you.
# Gradle automatically packages shared libraries with your APK.
file(GLOB native_srcs "src/main/cpp/*.cpp")
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).
# Associated headers in the same location as their source
# file are automatically included.
${native_srcs})
哈哈,大功告成!再多个cpp都不成问题啦!快去动手试试吧