位置: 编程技术 - 正文

androidのNDK生成so文件(生成ssh)

编辑:rootadmin

推荐整理分享androidのNDK生成so文件(生成ssh),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:生成ssh,hⅰm怎么生成,hⅰm怎么生成,生成.a,生成ssh,hⅰm怎么生成,hⅰm怎么生成,hⅰm怎么生成,内容如对您有帮助,希望把文章链接给更多的朋友!

我们在安装环境的时候安装了NDK,可以在eclipse下直接生成so文件。

NDK的压缩包里面自带了一些sample工程,NDK的文件直接解压到某个目录下即可。

第一次生成so文件的时候,我们先使用NDK的sample下的hello-jni的例子。

第一次生成so文件的时候,我们先使用NDK的sample下的hello-jni的例子。

1、启动eclipse,通过Create project from existing source,选择hello-jni的目录,按默认选项创建工程即可;

2、观察hello-jni的工程目录结构,发现根目录下多了一个名叫jni的文件夹,该文件夹下面有两个文件,Android.mk和hello-jni.c。

Android.mk是用来生成so文件的配置文件,我们来看看里面是什么:

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)

LOCAL_MODULE := hello-jniLOCAL_SRC_FILES := hello-jni.c

include $(BUILD_SHARED_LIBRARY)

include $(BUILD_SHARED_LIBRARY)表示会生成一个动态链接库,即so文件,生成的库文件名称为lib*.so

LOCAL_MODULE := hello-jni表示将要生成一个名称为libhello-jni.so的库文件

androidのNDK生成so文件(生成ssh)

LOCAL_SRC_FILES := hello-jni.c表示生成库文件的源文件是hello-jni.c

打开hello-jni.c文件,会看到里面有一个函数:

jstring Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env, jobject thiz ){ return (*env)->NewStringUTF(env, "Hello from JNI !");}

这个函数从根据什么原则生成的呢?是根据src下的HelloJni.java文件中的函数 public native String stringFromJNI();生成的。命名规则为:

Java_(固定开头)com_example_hellojni(用"_"连接的包名)_HelloJni(类名)_stringFromJNI(函数名)

这个函数的生成可以使用javah的命令:用命令行方式进入工程目录的binclasses目录下,运行javah com.example.hellojni.HelloJni,就会把所有native的函数都按规则生成在一个名为HelloJni.h的头文件里。

3、新建并配置一个新的Builder

详情见上一篇 androidのEclipse中设置NDK编译设置

4、生成so文件

由于我们勾选了“During auto builds”,所以在工程有所改变的时候,so文件便会自动编译,正确生成以后就能在工程目录下发现多了两个文件夹,文件夹libsarmeabi目录下生成了一个叫libhello-jni.so的文件。至此,使用NDK生成so文件的工作就完成了。

5、so文件的调用

在HelloJni.java文件中有一段代码:

static { System.loadLibrary("hello-jni"); }

使用loadLibrary就可以加载该so文件了,加载的时候不需要写libhello-jni.so,只要写hello-jni就可以了。

android 学习交流群:

Android深入浅出系列之实例应用—如何在一个Activity里调用另外一个Activity? 在手机页面之间的跳转一文中我介绍了如何运用setContentView()方法切换布局文件Layout的方式进行手机页面间的跳转,这种适合更改背景,文字颜色,文字

Android四大组件之一:contentprovider & 三大存储方式之一:SQLite数据库存储 应用实例 android中的数据持久化技术(数据存储技术)存在一定的制约,包括文件存储、SharedPreferences存储以及数据库(SQLite)存储,该三类存储方式只能在当前

开发日记(3)转发:比较靠谱的图片压缩 第一:我们先看下质量压缩方法:Java代码privateBitmapcompressImage(Bitmapimage){ByteArrayOutputStreambaos=newByteArrayOutputStream();image.compress(Bitmap.CompressFormat.JPEG,,baos);

标签: 生成ssh

本文链接地址:https://www.jiuchutong.com/biancheng/382283.html 转载请保留说明!

上一篇:Android实现数据存储技术(android的数据储存方式)

下一篇:Android深入浅出系列之实例应用—如何在一个Activity里调用另外一个Activity?(深入浅出css)

  • 所得税调增调减项目有哪些
  • 私营独资企业交个税还是企税
  • 租房代收水电费税率
  • 税收广度
  • 已认证红冲需要退回发票吗
  • 金融企业往来收入科目属于什么科
  • 当年实现的利润属于资产吗
  • 有限合伙企业注册资金要求
  • 销售边角料收入属于什么收入
  • 车子按揭利息
  • 资本公积转增股本个人所得税
  • 咨询案例模板
  • 当月没有认证的发票要勾选吗
  • 会计累计折旧属于什么科目
  • 补交社保后的个税怎么交
  • 代缴代扣增值税
  • 对公账户钱怎么退回去
  • 报销单大写金额填写格式1000
  • 股利分配政策的研究背景
  • 进项税额转出后再转入怎么做账
  • 暂估入库企业所得税税率
  • 万份收益是什么意思0.6
  • 公司转账不开票备注服务费怎么入账
  • 企业买房可以抵扣多少税
  • win10禁止使用网络
  • 小规模纳税人的条件
  • 收购子公司股权现金流
  • 出租的土地
  • 销售旧的固定资产 税法规定
  • el-table-column label动态
  • PHP自定义函数返回两个数中大的那个
  • 通过云服务器租号安全吗
  • 建造师与建筑师的区别详解
  • vue element ui
  • opencv的函数
  • 出售持有股票会计处理
  • 其他应付款辅助是供应商还是客户
  • 公司股东的权利和义务有哪些
  • 未分配利润分配后在报表如何体现
  • 企业的经营业务
  • 政府补助计入哪个会计科目
  • 残保金是第二年交前一年的吗
  • 房地产企业的业务范围
  • 存货的进口关税计入成本吗
  • 买税盘的分录
  • 委托收款背书和质押背书都属于转让背书
  • 房地产企业土地价款如何入账
  • 购买材料时如果没有取得购买材料的发票
  • 建筑安装工程承包合同条例还有效吗
  • 项目过路费应该挂什么科目
  • 电子缴税付款凭证是什么结算方式
  • 企业发生的经济业务主要有哪些
  • 总公司和分公司企业所得税分配
  • sqlserver游标的使用场景
  • win8系统升级
  • 2021win10激活
  • 在windows中打开一个窗口后
  • Windows server 2008设置远程桌面连接的详细步骤(图文教程)
  • windows勒索病毒
  • centos hosts
  • 在对linux系统中dir
  • 遮罩层在上还是在下
  • css网站布局实录 pdf
  • 探索世界怎么玩
  • opengl怎么导入模型
  • js计数排序
  • python 二叉树
  • nodejs 获取命令行参数
  • 模拟新浪微博用户注册程序设计
  • android-ListView(1)-listview概览
  • Android---41---Service简介
  • unity3d ui
  • 详解jQuery中的empty、remove和detach
  • ubuntu系统的手机
  • [推荐]抖音上那些好看的视频和有才的帐号
  • jquery中if语句
  • 税务数字证书密码修改失败
  • 2023居民医保怎么交
  • 怎么看扣税明细
  • 长沙买房后多久可以提取公积金
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设