V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Registering
V2EX  ›  程序员

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

  •  
  •   Registering · 2015-05-10 23:54:14 +08:00 · 3439 次点击
    这是一个创建于 3520 天前的主题,其中的信息可能已经有所发展或是发生改变。
    写android到现在主要SDK方面,慢慢有点瓶颈,要学得东西需要深入点了

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

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

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

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

    顺便分享一个简单NDK示例: https://github.com/ragnraok/android-image-filter
    Registering
        8
    Registering  
    OP
       2015-05-11 12:43:12 +08:00
    @miao1007
    谢谢啦!!!
    silvernoo
        9
    silvernoo  
       2015-05-11 14:26:21 +08:00
    @miao1007 用NDK来存放密码或者APPKEY。应该没什么必要,对方只要拿到so文件。用正常方法调用native方法然后输出。这样做只是饶了一个弯而已。然而并没有什么用。
    guxuede
        10
    guxuede  
       2015-05-11 15:21:20 +08:00
    游戏应用可能用的比较多,普通应用很少用到
    vjnjc
        11
    vjnjc  
       2015-05-11 17:28:22 +08:00
    @silvernoo 我觉得可能是c实现的加密算法比较多吧,用ndk调用比较简便.
    WispZhan
        12
    WispZhan  
       2015-05-11 18:24:50 +08:00
    没什么特别要求可以不用。
    1.改善代码性能
    2.使用现成的C/C++ 轮子
    3.加密协议。
    基本就这3中情况。个人遇到过第2、3种。
    kyze8439690
        13
    kyze8439690  
       2015-05-12 00:29:55 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2859 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 14:04 · PVG 22:04 · LAX 06:04 · JFK 09:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.