QingYi. 发表于 2021-12-9 21:17

Android NDK 使用入门

本教程需要自备工具,如下:
1.一台正常使用的电脑
2.一个愿意学习的大脑
3.Android Studio

首先左上角新建一个文件,往下拉,找到"c++"这个选项,也就是最后一个



名字随意,其他默认


创建完成之后是这样的


看注释了



进去看看


如下


这个JNIEXPORT 和JNICALL都是宏定义,   是给编译器用的,说明这是一个可导出的jni函数





后面生成安装包,安装一下

结果就出来了,从jni返回的.


解压缩这个apk

有不同平台下使用的库


ida 里长这样


摸清楚了门路之后,我们再写一个简单的加法吧.


再去native里面去写


有同学要问了,那个jint是什么鬼东东? 还有那个jstring,我们点进去看看 -> ctrl + left mouse

在jni.h里面,也就是别名 小名的意思


发一张对比表


再次安装看看,1+1+52 确实等于54


再次放到ida里面看看


简单入个门,感兴趣的可以动手实现下加减乘除,以及返回不同类型的参数.

Android NDK 还有很多奇技婬巧,有空我也顺便写下.
The offcial site:https://developer.android.com/ndk
be over.
撒花.

rainprince 发表于 2021-12-10 13:08

Forgo7ten2020 发表于 2021-12-10 10:41
@QingYi. 请问楼主是怎么搞的win上AndroidStudio才有补全的呀。NDK什么的我都配置了,就是没有补全。最后在 ...

as本身就没有补全功能,因为他本身就是java开发不是c开发,所以一般做ndk最好还是用的c开发工具

Forgo7ten2020 发表于 2021-12-10 18:52

rainprince 发表于 2021-12-10 13:08
as本身就没有补全功能,因为他本身就是java开发不是c开发,所以一般做ndk最好还是用的c开发工具

as对ndk是有补全功能的,主要是那些JNI函数。在linux下开发有补全就蛮舒心

Rolanju 发表于 2021-12-9 22:16

支持一下

snakenba580 发表于 2021-12-9 22:49

谢谢分享,正在学习中。

fjhscpc 发表于 2021-12-10 00:51

不错,可以学习学习,正在这段在弄android studio

魔-沫 发表于 2021-12-10 01:06

收藏一波,感谢

dishiye 发表于 2021-12-10 01:13

很需要,学习了

tzlqjyx 发表于 2021-12-10 07:07

已保存,工作后空余时间少,慢慢学习吧

Wapj_Wolf 发表于 2021-12-10 07:38

内容够多,收藏了慢慢学习。

megshang886 发表于 2021-12-10 08:23

干货,已收藏。

yaoandyuan 发表于 2021-12-10 10:21

可以的大佬啊mark一下
页: [1] 2 3 4
查看完整版本: Android NDK 使用入门