使用jni接口完成android本地程序的运行--具体的操作
2010-11-13 19:11
656 查看
虽然上一篇文章《使用jni接口完成android本地程序的运行》讲述了一些理论上的知识,但是如何具体操作呢?要知道android的java虚拟机与标准的jvm是不一致的,因此肯定会遇到具体操作的问题。实际上,具体操作也不难,只要按照android文档的介绍按部操作即可:
1.在apps目录下拷贝一个最简单的例子,比如hello-jni作为模板,命名为你的应用的名称,然后删除其下的和hello-jni相关的内容;
2.将需要编译的源代码树拷贝到jni目录之下;
3.jni目录下的Android.mk文件内容如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CFLAGS := ...#拷贝所有原始Makefile中的CFLAGS/CPPFLAGS/等等一切命令行标志,包括预编译宏的定义
LOCAL_LDLIBS := ...#拷贝所有的链接时用到的动态库路径,动态库,静态库(-L,-l)
LOCAL_MODULE := ...#最终的供java调用的so名称,省略了lib和.so的
LOCAL_SRC_FILES := ...#所有参与编译的源代码文件
include $(BUILD_SHARED_LIBRARY)
4.在apps的上级目录执行:make APP=XXX 即可
5.注意,不能使用网上著名的打包好的droid-gcc工具来利用-fPIC -shared参数生成动态库,那样的动态库是很难直接使用的,必须做很多后续的工作才可以。其实,ndk的作用也就在于省略了很多所谓的后续工作,它简化了生成动态库的过程
本文出自 “我来,我看,我征服” 博客,请务必保留此出处http://dog250.blog.51cto.com/2466061/1271174
1.在apps目录下拷贝一个最简单的例子,比如hello-jni作为模板,命名为你的应用的名称,然后删除其下的和hello-jni相关的内容;
2.将需要编译的源代码树拷贝到jni目录之下;
3.jni目录下的Android.mk文件内容如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CFLAGS := ...#拷贝所有原始Makefile中的CFLAGS/CPPFLAGS/等等一切命令行标志,包括预编译宏的定义
LOCAL_LDLIBS := ...#拷贝所有的链接时用到的动态库路径,动态库,静态库(-L,-l)
LOCAL_MODULE := ...#最终的供java调用的so名称,省略了lib和.so的
LOCAL_SRC_FILES := ...#所有参与编译的源代码文件
include $(BUILD_SHARED_LIBRARY)
4.在apps的上级目录执行:make APP=XXX 即可
5.注意,不能使用网上著名的打包好的droid-gcc工具来利用-fPIC -shared参数生成动态库,那样的动态库是很难直接使用的,必须做很多后续的工作才可以。其实,ndk的作用也就在于省略了很多所谓的后续工作,它简化了生成动态库的过程
本文出自 “我来,我看,我征服” 博客,请务必保留此出处http://dog250.blog.51cto.com/2466061/1271174
相关文章推荐
- 使用jni接口完成android本地程序的运行--具体的操作
- 使用jni接口完成android本地程序的运行
- 使用jni接口完成android本地程序的运行
- Android本地接口JNI的使用分析
- 操作无法完成(0x000006ba)。本地后台打印程序服务没有运行。请重新启动后台打印程序或重新启动计算机。
- Delphi使用android的NDK是通过JNI接口,封装好了,不用自己写本地代码,直接调用
- Lua脚本接入Android使用JNI调用本地接口,需要注意的问题
- 使用本地hadoop运行伪分布式程序
- 完成文件复制操作,在程序运行后提示输入源文件路径,然后再输入目标文件路径。
- Android基础入门教程——1.5.1 Git使用教程之本地仓库的基本操作
- JNI及Android JNI 开发基本知识和具体操作步骤
- 不使用opencv manager运行Android上的opencv程序
- 完成文件复制操作,在程序运行后提示输入源文件路径,然后再输入目标文件路径。
- Android深入浅出系列之实例应用—程序运行进度提示条应用ProgressBar和Handler的使用
- Android中使用jni进行本地开发
- android mosquitto客户端使用SSL功能的具体操作总结(android mqtt ssl 加密)
- Android按下返回键后,程序不退出,进入后台运行。使用moveTaskToBack(boolean nonRoot)
- Android 系列 3.10使用本地运行时应用程序日志来分析字段错误或情境
- android之NDK(jni)开发笔记1——运行第一个NDK程序
- 使用Python开发Android应用程序:第三节 在电脑上编写程序在手机上运行