1. 程式人生 > >android studio 利用gradle和cmakelist生成c++靜態庫.a的方法總結

android studio 利用gradle和cmakelist生成c++靜態庫.a的方法總結

nts 需求 roi ++ build mat 頭文件 方法 ext

android生成靜態庫的方法有兩種,一種是編輯android.mk文件,一種是編輯cmakelist文件。前一種沒做研究,因為用的ide是android studio,所以直接利用gradle調用cmakelist文件完成靜態庫的生成,就是第二種方式。現總結如下:

文件需求:

1.cpp頭文件源文件

2.cmakelists.txt文件

3.gen-gmath(生成靜態庫的module)下的build.gradle

4.hellojni(工程)下的settings.gradle

文件修改需求:

1.c++文件,不解釋

2.增加代碼 add_library(gmath STATIC gmath/src/gmath.c)

此處還應該對靜態庫生成的位置進行設置,但是初學,所以後續研究。

不設置路徑的情況下,是生成在module的externalNativeBuild文件下。

3.在defaultConfig大括號中增加

externalNativeBuild{
  cmake{
      arguments ‘-DANDROID_PLATFORM=android-14‘,
           ‘-DANDROID_TOOLCHAIN=clang‘
      targets ‘gmath‘
     }
}

在android大括號中增加

externalNativeBuild{
  cmake{
      path ‘src/main/cpp/CMakeLists.txt‘
  }
}

4.增加include ‘:gen-gmath’ module名

android studio 利用gradle和cmakelist生成c++靜態庫.a的方法總結