android的android.mk,和application.mk文件编写

1.简介

android.mk是用来描述要编译某个具体的模块,所需要的一些资源,包括要编译的源码、要链接的库等等

application.mk:描述你的程序所需要的模块,即静态库或者共享库

2.静态库和共享库的区别

静态库:在程序编译时连接到代码,一般体积比较大

共享库:在程序运行时动态加载,一般直接引用,体积比较小

3.动手编写简单的android.mk文件

[代码]java代码:

LOCAL_PATH:必须位于android.mk文件的开始,用来定位源文件的位置,$(call my-dir)返回当前路径,即android.mk所在的目录

include $(CLEAR_VARS):清除变量的值,不包括LOCAL_PATH

LOCAL_MODULE:描述的模块,名字唯一,不能有空格,编译系统会生成合适的前缀和后缀

LOCAL_SRC_FILES:参与编译的所有源代码文件

include $(BUILD_SHARED_LIBRARY):把当前模块编译为共享库,前缀为lib,后缀为.so

include$(BUILD_STATIC_LIBRARY):把当前模块编译为静态库,前缀为lib,后缀为.a

4.定义多个android.mk文件

有时候,编译的模块比较多,可以在每一个模块目录下定义一个andorid.mk文件,然后在模块的根目录下放置一个android.mk文件,内容如下:

[代码]java代码:

5.动手编写简单的application.mk

[代码]java代码:

APP_ABI:支持的ABI平台,上所示为armeabi-v7a,其他的如x86,多个用空格隔开,如armeabi-v7a x86

APP_MODULES:如果指定,那么ndk只会编译列出的模块列表,模块名用空格隔开,如果没有指定,那么ndk会编译所有的android.mk文件声明的所有LOCAL_MODULE模块

android java 静态库_android的android.mk,和application.mk文件编写相关推荐

  1. android java静态库,Android make 中变量记录

    转换mk文件到bp文件 $ out/soong/host/linux-x86/bin/androidmk Android.mk > Android.bp 编译不同类型的模块 编译成 Native ...

  2. android java静态库,Android NDK开发相关知识集合

    1.关于方法名 调用 native 方法之前,首先要调用 System.loadLibrary 接口加载一个实现了native 方法的动态库才能正常访问,否则就会抛出 java.lang.Unsati ...

  3. android ndk 动态库_百度经验,android ndk 动态库

    android ndk开发经常遇到了动态库的问题,本文主要介绍: ① 动态链接库的生成: ② 在Java和C混合编程的情况下如何调用第三方动态链接库: ③ 通过jar包的方式间接调用第三方动态链接库: ...

  4. JNI开发之-Android.mk和Application.mk 详解

    Android.mk和Application.mk 详解 Android.mk 基础知识 变量和宏 NDK 定义的 include 变量 目标信息变量 模块描述变量 NDK 提供的函数宏 Applic ...

  5. android Java开发设计模式及在android中的应用解析

    android Java开发设计模式及在android中的应用解析 什么是设计模式: 可以用一句话概括设计模式---设计模式是一种利用OOP的封闭.继承和多态三大特性,同时在遵循单一职责原则.开闭原则 ...

  6. Android.mk和Application.mk文件语法规范说明及举例

    以下英文内容摘自:http://www.kandroid.org/ndk/docs/OVERVIEW.html The Android NDK is a set of tools that allow ...

  7. android开发静态库,Android:如何正确链接我自己的静态库?

    我有一个用C ++编写的Android项目,并且在链接阶段存在问题. 代码放在一些静态库中,这些库应该链接在一起. 我在网上发现了很多关于这个主题的问题和答案,其中大多数建议将我的库LOCAL_STA ...

  8. 【Android 安装包优化】WebP 应用 ( libwebp 源码下载 | Android.mk 和 Application.mk 构建脚本修改 | libwebp 函数库编译 )

    文章目录 一. libwebp 源码下载 二. libwebp 源码编译脚本修改 三. libwebp 函数库编译 四.参考资料 一. libwebp 源码下载 Google 提供了一系列的 WebP ...

  9. android java 中文乱码_android读写中文如何避免乱码详解

    前言 android读取文件中文出现乱码的原因无非就是,读取文件的字符格式与写如文件的格式不一致.因此,避免中文乱码,要在写入文件的时候按照一定的格式写入,读取的时候按照一定的格式读取.这样对应就不会 ...

最新文章

  1. 软件工程导论结对项目
  2. 系统性能检测工具之lsof
  3. Windows Server 2016 服务器总是有暴力破解密码导致的审核失败
  4. Spring EL运算符实例
  5. CentOS安装fortune+cowsay
  6. python中线程和进程_python中线程和进程的简单了解
  7. 【dfs】家族(jzoj 1985)
  8. 业余爱好者linux_如何从业余爱好者变成专业开发人员
  9. 如果有人问你 Dubbo 中注册中心工作原理,就把这篇文章给他
  10. html页面如何嵌套if标签,IF嵌套10个以上
  11. matlab离散系统的频率响应,离散系统频率响应和零极点分布实验报告
  12. Windows DFS
  13. 阿里云助力中小企业建站 在线免费自助建站成新用户首选
  14. 第三集 怪物学院 第二十一章
  15. 2013年:各大IT公司待遇【转载】
  16. 投影仪软件哪个好用?装上一起看TV,解锁追剧新体验
  17. python mask_python_mask_array的用法
  18. python mse函数_Python 线性回归处理糖尿病数据 计算MSE等
  19. SQL Server 登录出错 用户 ‘sa‘ 登录失败 (Microsoft SQL Server, Error: 18456)
  20. 微信支付后台通知频率

热门文章

  1. php视频转数据流,图像转数据流-aspphp | 鬼仔's Blog鬼仔's Blog
  2. mysql mvcc readview_MySQL MVCC实现
  3. Oracle数据库awr报告使用与分析
  4. 我在美团的八年,技术人必读
  5. 你不知道的接口测试之简单的开始
  6. 学完这篇Charles抓包教程,我直接把fiddler卸载了
  7. matlab画图,想让子图使用不同的色标
  8. solidwork 侵权 证据_电子商务法复习题
  9. install google test on ubuntu
  10. VS2017更改设置目录一劳永逸的方法