• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 关于jni编译32位、64位动态库(Android.mk和Application.mk文件),jniapplication.mk

关于jni编译32位、64位动态库(Android.mk和Application.mk文件),jniapplication.mk

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了关于jni编译32位、64位动态库(Android.mk和Application.mk文件),jniapplication.mk等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

关于jni编译32位、64位动态库(Android.mk和Application.mk文件),jniapplication.mk


 

最近新项目需要编译64位的动态库,这里记录如何配置。

在jni目录下加入Android.mk和Application.mk文件。

 

 

Application.mk

1 APP_ABI := armeabi armeabi-v7a arm64-v8a

Android.mk

1 LOCAL_PATH := $(call my-dir)
2 include $(CLEAR_VARS)
3 
4 LOCAL_MODULE := hello-jni
5 LOCAL_SRC_FILES := hello-jni.c
6 
7 include $(BUILD_SHARED_LIBRARY)

 

加上这两个mk文件后,编译就会生成armeabi、armeabi-v7a、arm64-v8a的库文件。

 

补充:

 

Android.mk文件是用来向build system(编译系统)描述你的源文件的,比如你要编一个静态库(.a文件)  或 一个动态库(.so文件),将由build system解析一次或者多次。

Application.mk目的是GNU Makefile的一部分,描述你的应用所依赖的编译系统中的模块(静态库或动态库)。

 

在Android.mk文件中判断64位还是32位

 1 ifneq ($(filter $(NDK_KNOWN_DEVICE_ABI64S),$(TARGET_ARCH_ABI)),)
 2 # 64-bit ABIs
 3 
 4 ……
 5 ……
 6 
 7 else
 8 # 32-bit ABIs
 9 
10 ……
11 ……
12 ……
13 
14 
15 endif

 

编译目标类型

每个Android.mk文件后面都会指明要编译什么类型的输出,比如下面:

 

编译动态库 : include $(BUILD_SHARED_LIBRARY)    

编译静态库 : include $(BUILD_STATIC_LIBRARY)

输出已编译好的so文件 : include $(PREBUILT_SHARED_LIBRARY)

编译jar文件 : include $(BUILD_JAVA_LIBRARY)

输出已编译好的apk文件 : include $(BUILD_PREBUILT)

编译apk文件 : include $(BUILD_PACKAGE)

 

 

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 关于jni编译32位、64位动态库(Android.mk和Application.mk文件),jniapplication.mk

相关文章

  • 2017-05-26添加页面切换动画, 避免冷启动
  • 2017-05-26Android开发学习之路--网络编程之初体验
  • 2017-05-26MAT使用入门,mat入门
  • 2017-05-26谈谈Android中的Divider,AndroidDivider
  • 2017-05-26Google官方MVP模式示例项目解析 todo-mvp,mvptodo-mvp
  • 2017-05-26学习《第一行代码》使用实机测试所遇问题(一),《第一行代码》
  • 2017-05-26Android 接入 OpenCV库的三种方式,androidopencv
  • 2017-05-26Android 交错 GridView,androidgridview
  • 2017-05-26杂谈——Android从启动到程序运行发生的事情
  • 2017-05-26安卓开源项目周报1214,安卓开源项目1214

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android--JNI简单的实例解析
    • Android之侧滑导航栏,android滑导航栏
    • Android Drawable的9种子类 介绍
    • 如何让光标处于EditText的末尾,光标edittext末尾
    • Android 手机卫士--绑定sim卡序列号,androidsim
    • Android一些不太常用XML文件属性的总结
    • Fragment分解使用,fragment分解
    • Handler消息传递机制(二)Handler,Loop,Message,MessageQueue的工作原理
    • 关于异地容灾的感触
    • Android SDK镜像更新网速慢的解决问题,androidsdk

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有