写 android 的小伙伴, JNI, NDK,你用得多吗?

2015-05-10 23:54:14 +08:00
 Registering
写android到现在主要SDK方面,慢慢有点瓶颈,要学得东西需要深入点了

JNI和NDK现在还没用过,也没学过,但是大多应聘要求都有这一项。

想问问大家用的多不多,准备这个星期搞搞,入门一下。

欢迎高屋建瓴的老司机,总结总结这个方面的知识和应用,方便后人学习。
3405 次点击
所在节点    程序员
13 条回复
inmyfree
2015-05-11 02:22:03 +08:00
3年+经验路过,用过一次,大部分都是不用的
r00tt
2015-05-11 07:30:01 +08:00
4+经验,用得次数还好。
有时候java代码性能遇到瓶颈考虑用ndk 来实现
有时候有些数据需要更高的安全也会采用ndk
还有时候有些c/c++的库需要在android上跑那就更要用了。总之,学上一学还是有必要的
janxin
2015-05-11 07:55:33 +08:00
不太多,不过推荐学一学
silvernoo
2015-05-11 09:03:30 +08:00
用过一两次,通常只是在C语言的模块提供上层调用的时候用。编译过一次opssl,cURL。
jedyu
2015-05-11 09:29:37 +08:00
如2楼所说,性能、安全性的考虑,会用到,或者一些原有的依赖库,懒得用Java再实现一遍
icedx
2015-05-11 10:26:42 +08:00
不多
但有时候不得不用
miao1007
2015-05-11 12:39:22 +08:00
用的不多,因为目前这样的瓶颈很少。

需求主要有两个:
1. 使用C来加密算法,比如不想让别人知道的字符串。
2. 高性能计算,比如SQL/SMS加密,视频解析,图像滤镜。

顺便分享一个简单NDK示例: https://github.com/ragnraok/android-image-filter
Registering
2015-05-11 12:43:12 +08:00
@miao1007
谢谢啦!!!
silvernoo
2015-05-11 14:26:21 +08:00
@miao1007 用NDK来存放密码或者APPKEY。应该没什么必要,对方只要拿到so文件。用正常方法调用native方法然后输出。这样做只是饶了一个弯而已。然而并没有什么用。
guxuede
2015-05-11 15:21:20 +08:00
游戏应用可能用的比较多,普通应用很少用到
vjnjc
2015-05-11 17:28:22 +08:00
@silvernoo 我觉得可能是c实现的加密算法比较多吧,用ndk调用比较简便.
WispZhan
2015-05-11 18:24:50 +08:00
没什么特别要求可以不用。
1.改善代码性能
2.使用现成的C/C++ 轮子
3.加密协议。
基本就这3中情况。个人遇到过第2、3种。
kyze8439690
2015-05-12 00:29:55 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/190047

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX