android studio 利用gradle和cmakelist生成c++静态库.a的方法总结

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名

时间: 2024-10-01 07:32:17

android studio 利用gradle和cmakelist生成c++静态库.a的方法总结的相关文章

Android Studio利用Gradle删除没有使用到的资源文件

我们在打包的时候默认会把没有用到的资源(比如图片)也打包成app,徒增了应用的大小.现在我们可以利用Gradle来优雅的去除没有用到的资源文件了! 就是在gradle中配置shrinkResources true.这个东西依赖于minifyEnabled,所以minifyEnabled也要为true才行. 官方推荐在正式版中这么写: android { buildTypes { release { minifyEnabled true shrinkResources true } } } 如果你

android studio中导入第三方jar包和第三方库文件的方法

一.导入第三方jar包的方法 其实较为简单,以下步骤: 1>在工程的libs下面放置需要导入的jar包 2>在导入的jar包右键,选择"add as library" 3>这时候就能够在app下面的build.gradle中发现多了如下说明:"compile XXXX",说明导入jar文件成功了. 二.导入第三方类库文件 相对而言,其实就是将之前的Eclipse的project或者module转化成android studio下的可执行的proje

Android 项目利用 Android Studio 和 Gradle 打包多版本APK

在项目开发过程中,经常会有需要打包不同版本的 APK 的需求. 比如 debug版,release版,dev版等等. 有时候不同的版本中使用到的不同的服务端api域名也不相同. 比如 debug_api.com,release_api.com,dev_api.com等等. 不同的版本对应了不同的 api 域名,还可能对应不同的 icon 等. 如果每次都在打包前修改我们都手动来修改,这样实在是不够方便. 但如果我们使用了 Android Studio 和 Gradle,这个麻烦就可以轻松省去.

android studio 使用gradle 导出jar包,并打包assets目录

最近项目在做一个sdk,供别的开发者使用,所以要求导出jar包. 与eclipse不同,android studio 1.0 没提供导出jar包的图形界面.需要结合gradle来生成jar包. 首先 需要设置module应用的gradle插件为 library 代码长这样: ? 1 <code class="hljs">apply plugin: 'com.android.library'</code> 这样,build的时候,android studio 1.

Android Studio之Gradle多渠道打包

Android Studio之Gradle多渠道打包 由于国内Android市场众多渠道,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包,如果让你打几十个市场的包岂不烦死了,不过有了Gradle,这事就简单了. 友盟多渠道打包 废话不多说,以友盟统计为例,在AndroidManifest.xml里面会有这么一段: <meta-data android:name="UMENG_CHANNEL" android:value="Channel_ID&qu

在Android studio中用gradle打 jar 包(Mac下)

这两天公司要重构项目,以前的项目在eclipse上,准备迁移到Android studio上,需要对项目打包,于是我学习了Android studio中gradle打包的内容.我在公司用的Mac,在家用的Windows,两种平台下,打包基本一样的,这里主要说下在Mac系统下的过程. 在Andorid studio中的Terminal用的是Mac的终端,所以要使用Terminal的gradle命令打包,先要配置下mac中的gradle环境,打开mac上的终端: (1) 输入命令:open .bas

提高Android Studio中Gradle执行效率

尊重劳动成果,转载请注明出处:http://blog.csdn.net/growth58 你是否感觉到Android Studio构建速度太慢?我也有这感觉. 幸运的是,这有很多可以提高构建速度的技巧.这些技巧目前还在实验并且有可能是不安全的,如果你觉得构建时间太长而且很痛苦的话,尝试一下这些技巧还是很有价值的.我已经按照下面所描述的试过在代码改动很少的情况下构建时间下降了2.5秒.希望对你有帮助. Android Studio使用Gradle来构建工程.目前Gradle的版本为2.2.最近的版

【Android Studio】Gradle DSL method not found:&#39;android()&#39;

如图所示: 参考:http://www.jianshu.com/p/d370d41fb7da 又遇到了这个问题: 参考:http://stackoverflow.com/questions/24204436/error1-0-plugin-with-id-android-not-found 然后是这个问题: 我也是醉了…… [Android Studio]Gradle DSL method not found:'android()'

Android Studio之Gradle

自从13年Google I/O大会上推出了Android Studio,我就逐步将开发工作从Eclipse转向了Android Studio,也越来越嫌弃老态龙钟的Eclipse.相比较而言,Android Studio无论从运行速度上还是对于Android开发的支撑上都完爆Eclipse:前者极具科技感的UI更是牢牢抓住了我的心!:) 话不多说,先上张碉堡了的截图: Android Studio默认采用Gradle编译项目:Gradle基于Groovy语言,Groovy是一种运行于JVM的动态