在windowsXP系统中使用Eclipse开发Android动态库so(一):第一个测试so
来源:互联网 发布:idea java 代码混淆 编辑:程序博客网 时间:2024/05/22 16:49
NDK的安装和配置参考:http://www.cr173.com/html/24813_1.html。只要参考安装与配置部分,程序的部分不用去看。
配置好后,开始写第一个so程序。在网上查了不少资料也没试出来。这里写的是自己摸索着写出来的。
一、在Eclipse中设置NDK路径:
点击菜单Window,选择Preferences。
选择Android中的本机开发,在右侧NDK Location选择NDK安装的目录。设置完成后点击OK按键。
二、在Eclipse中新建一个Android Application Project工程。
一路Next,完成新建工程的操作。
三、右键点击工程名称,选择Android Tools中点击Add Native Support...
这里设置so文件的名称。我使用默认值,点击Finish按键。
我选择是【Yes】。
这是到MyHelloJni工程目录中,你会发现现在多了一个jni文件夹。此文件夹中已经有.mk和.cpp两个文件。
四、设置工程Build。
右键点击工程名称,在弹出的菜单中选择Properties
在弹出的的对话框中点击左侧的Builders,点击右侧的【New...】按键
在弹出的Edit Configuration对话框进行设置:
(a)Main属性页设置:
Name中输入新建的Builder的名称,可以自己起。
Location:选择NDK安装目录中的ndk-build.cmd文件
Working Directory:设置工程的路径
(b)Refresh属性页设置:按下图进行设置
(c)Bulid Options属性页设置:
如下图进行设置
点击【Specify Resources...】按键,在弹出的的对话框中,选择MyHelloJni工程的jni文件夹
五、编辑MyHelloJni.cpp文件
#include<string.h>和#include<jni.h>两行代码是系统自动生成的。
增加了一个接口用来返回一个固定字符串,用来演示so的调用。
接口函数名:Java+包名(com_example_myhellojni)+调用so的类名(我在MainActivity中加载和调用so的)
.mk就使用默认生成,不用修改。
六、生成so文件。点击Eclipse右上角的C/C++按钮。
如果没有C/C++按钮,点击【Java】旁边的【Open Perspective】,弹出的对话框中选择C/C++
点击工具栏中的小锤子
选择菜单Project中的Clean。
在弹出的对话框中,选择MyHelloJni
点击【OK】显示生成了so。
左侧工程中也能看到生成了so(自动多了obj文件夹)
七、在Android App中调用so
关闭Eclipse在启动Eclipse,工程名称前的叉叉就没有了,编译生成apk
在手机上运行的结果:
- 在windowsXP系统中使用Eclipse开发Android动态库so(一):第一个测试so
- 在windowsXP系统中使用Eclipse开发Android动态库so(二):简单图像处理so
- Android Studio中NDK开发(一)如何使用预编译好的.so动态链接库
- android-测试so动态库(九)
- ndk开发之利用android系统中.so库文件(例:libsqlite.so)
- Android Studio cmake方式jni开发,在c层使用其它动态链接库*.so
- Android so动态库开发完成!
- eclipse android jni 开发,so库编译
- eclipse下使用NDK开发so库
- 在Android NDK中使用libffmpeg.so
- android 中调用 so 动态链接库
- 在Android工程中导入外部动态连接库(so文件)
- AndroidStudio中NDK开发-制作so库与调用so库(一)
- android 使用eclipse 调试 so
- 第一个.so文件
- android开发 NDK 动态链接多个第三方库(so)
- android动态链接库(so文件)
- 在 Android 系统中直接调用 SO文件(包含System.loadLibrary加载so的路径解释)
- 推荐系统领域的数据集
- (Google面试题)有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件ABCD。初始都为空。
- 常见面试之机器学习算法思想简单梳理
- explicit
- 编译BusyBox建立Linux根文件系统
- 在windowsXP系统中使用Eclipse开发Android动态库so(一):第一个测试so
- 贪心算法
- 博科300 光纤交换机的配置
- Java中将word生成缩略图
- 框架的概念及用反射技术开发框架的原理
- 输入年月日判断是第几天
- 《Android应用程序开发与典型案例》完整版
- python之yield篇
- ios--生命周期+性能优化