吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2228|回复: 12
收起左侧

[Android 原创] Android NDK 使用入门之JNI访问Java方法

  [复制链接]
QingYi. 发表于 2021-12-11 20:57
接着上次的来讲,新建一个Java class
1.png

搞一个带返回值的和一个不带返回值的先
2.png

Java这边的代码先安排好
3.png

再去写native方法
4.png

2.我们需要把这个方法init初始化一下,构造出来.
  这边需要填三个参数,第一个就是我们获得的class,所在的类,第二个就是方法名字,第三个就是签名
   5.png
很智能,选中init之后后面的signature也帮我们补全了
6.png

7.png

这个签名不需要传参数,所以括号里面为空,返回值为Void所以为V,如果是int就是I,附上一张对照图.
8.png
写完了void
9.png

那么再写int的show吧.后面就是CallInt了,而不是Void
10.png

我们安装来试试看吧.先点锤子,再点运行.(锤子锤好了再运行.)
11.png

已经看到了.
12.png

我们可以看到int的show返回了52,我们该怎么拿到呢?它是在JNI里面访问的.
只需要把它的值接住就行了.
13.png

这个时候报了红错是没有导入头文件,我们导入头文件看看.
14.png

我们看这个函数的注释,叫你写一个格式化输出的字符串,然后还要带上tag标签和优先级
15.png

Log_Info 是enum类型且刚刚好是第四个,从0开始,所以我写4,直接写这个英文也行.
16.png

结果出来了
17.png


今天的学习就到此结束了,睡觉.

免费评分

参与人数 11吾爱币 +26 热心值 +11 收起 理由
qtfreet00 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Wzx157 + 1 + 1 谢谢@Thanks!
jawy + 2 + 1 最近正在用JNI\JNA,不错
Enrace + 1 + 1 我很赞同!
debug_cat + 1 + 1 用心讨论,共获提升!
coder9527 + 1 + 1 热心回复!
woyucheng + 1 + 1 谢谢@Thanks!
白云点缀的蓝 + 2 + 1 谢谢@Thanks!
Autom + 1 + 1 用心讨论,共获提升!
正己 + 8 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
笙若 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zuoyefeng2021 发表于 2021-12-11 21:14
资源很不错
咔c君 发表于 2021-12-11 21:45
正己 发表于 2021-12-11 23:11
Autom 发表于 2021-12-11 23:51
感谢大佬分享学习方法
白云点缀的蓝 发表于 2021-12-12 06:58
谢谢分享~~~~
x2005y 发表于 2021-12-12 09:35
这个真心有用,谢谢分享!
Mrzsx 发表于 2021-12-12 09:57
感谢大佬
debug_cat 发表于 2021-12-12 10:27
牛牛牛~~期待持续更新
xyz1234 发表于 2021-12-13 07:29
感谢大佬
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 15:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表