付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】Androidstudio3.6中JNI教程之helloworld的思路分析
在下给大家分享一下Androidstudio3.6中JNI教程之helloworld的思路分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!jdk环境变量配置:path中增加下面2个路径,也就是androidstudio的路径,android有自带的jdk。E:\Android\Android
Studio\jre\bin
E:\Android\Android
Studio\bin新建工程:一定要选择Nativec++类型,最后要选c++11支持。SDK设置:File->SettingsFile->ProjectStructure首先确定工程的目录结构,然后尝试运行一下工程,使用模拟器,确保工程没问题,在MainActivity的同级目录,新建一个hello.java,然后做一个简单的实现,package
com.example.myapplication;
public
class
hello
{
public
native
int
add(int
i,
int
j);
}使用androidstudio自带的Terminal进入该hello.java所在目录,执行,javachello.javajavachello.javaTerminal下回到app/src/main所在目录,执行,javah-djni-classpath./javacom.example.myapplication.hellojavah-djni-classpath./javacom.example.myapplication.hello此时,会在main目录下面生成一个和cpp,java同级的目录jni。在该目录结构里面新建hello.cpp。将com_example_myapplication_hello.h中的内容复制进hello.cpp中,并且进行方法的实现,#include
<jni.h>
/*
Header
for
class
com_example_myapplication_hello
*/
#ifndef
_Included_com_example_myapplication_hello
#define
_Included_com_example_myapplication_hello
#ifdef
__cplusplus
extern
"C"
{
#endif
/*
*
Class:
com_example_myapplication_hello
*
Method:
add
*
Signature:
(II)I
*/
#include
"com_example_myapplication_hello.h"
JNIEXPORT
jint
JNICALL
Java_com_example_myapplication_hello_add
(JNIEnv
*,
jobject,
jint
i,
jint
j){return
i+j;}
#ifdef
__cplusplus
}
#endif
#endif将com_example_myapplication_hello.h,hello.cpp这连个文件复制到cpp所在的目录,然后修改CMakeLists.txt,增加,add_library(
#
Sets
the
name
of
the
library.
hello
#
Sets
the
library
as
a
shared
library.
SHARED
#
Provides
a
relative
path
to
your
source
file(s).
hello.cpp
)修改target_link_libraries如下,target_link_libraries(
#
Specifies
the
target
library.
native-lib
hello
#
Links
the
target
library
to
the
log
library
#
included
in
the
NDK.
${log-lib}
)修改hello.java的调用方式,package
com.example.myapplication;
public
class
hello
{
static
{
System.loadLibrary("hello");
}
public
native
int
add(int
i,
int
j);
}修改MainActivity.java中的onCreate函数,protected
void
onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//
Example
of
a
call
to
a
native
method
TextView
tv
=
findViewById(R.id.sample_text);
//tv.setText(stringFromJNI());
tv.setText("hello
9+10=
"
+
new
hello().add(9,
10));
}然后,rebuildproject,没有错误
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025 小学四年级思想品德上册红色诗词朗诵比赛课件
- 2026年剧本杀运营公司剧本杀主题活动组织制度
- 2026年量子计算商业应用报告及未来五至十年科技行业创新报告
- 2026年医疗纳米机器人技术应用报告
- 聚焦2025年医疗废弃物无害化处理中心建设可行性报告:废弃物处理设备创新
- 人工智能辅助精神疾病诊断系统2025年研发可行性研究
- 2026年基因编辑技术伦理与发展报告
- 2026年人工智能医疗行业报告
- 2026及未来5年中国电子地图行业市场现状调查及前景战略研判报告
- 辅警升职面试题目及答案
- 2024-2025学年山东省潍坊市高一下学期5月期中考试政治试题(解析版)
- 环境污染治理设施运营考试试题
- 2025年证监会招聘面试高频考题及解析
- 2025-2030中国溶剂染料行业消费状况及竞争策略分析报告
- 急诊科脑出血课件
- 安全生产管理机构人员配备表
- smt车间安全操作规程
- 2.3.2中国第一大河长江
- TCEPPC 25-2024 储能锂离子电池热失控预警及防护技术要求
- 资源土猪出售合同协议
- (高清版)DB50∕T 867.30-2022 安全生产技术规范 第30部分:有色金属铸造企业
评论
0/150
提交评论