Android NDK开发入门问答

来源:互联网 发布:淘宝上买精密管犯法么 编辑:程序博客网 时间:2024/06/04 18:34
问题(得到部分解答)
  1. 你主要使用NDK开发还是SDK开发?如果主要使用前者,那么你用它开发的是什么类型的应用?
  2. NDK开发需要具备哪些方面的知识?语言方面:C是必要的,C++也和C一样,属于必要的吗,在NDK开发中,二者孰重孰轻?库和框架方面:开发过程中使用库开发为主还是自己打架为主?常用的开发库有哪些?开发工具方面:NDK开发最佳的IDE是什么?书籍方面:如果让你推荐一本NDK开发相关的书籍,只推荐一本,你会推荐什么?站点和博客:有哪些非常必要阅读的博客和站点?

提问背景:工作效率不高,状态不好。
提问目的:希望通过提问,让自己进入思考状态。


推荐书籍:文档不建议,理论性强不实用;书籍市面上较少,推荐Android高级编程——使用NDK。

推荐IDE:eclipse ADT + CDT,不建议AS,AS中对C/C++开发支持不够良好。


偶遇高水平网友


群:AndroidNDK开发(114608445)
成员:♂优の强品
基本信息:腾讯 - Kingroot

问题: NDK开发主要应用范围

解答

  1. 安全:没有针对反编译部分考虑,其实懂SO反编译的,就可以解开ELF文件;
  2. 性能:滤镜功能(类似ps中的那种),多媒体软解码。软解就是用CPU,其实就是一般的代码了。硬解就是接入硬件芯片进行解码,性能比CPU快很多,你可以当做显卡编程。
  3. 移植:多媒体软解,FFMPEG框架。
  4. 一些VM里不能做的事情:基于linux层的操作,例如binder拦截,防火墙防御这些。

使用NDK完成的功能

图像滤镜、多媒体编解码(软解和硬解)、cocos2dx、安全



NDK学习建议
@牧禾 先学好C/CPP,这个是关键
C/CPP功底好了,用JAVA就很容易得心应手
在这个基础上,再看看android的fw源码
之后看具体要用到那些android native层的模块,再一步一步的玩native的东西


群:AndroidNDK开发(114608445)
成员:@农夫
基本信息:网易 游戏开发中
问题: 工作一段时间了,水平总是上不去?

解答:

水平总是上不去,可以考虑争取一家大一点的公司。

说的对,应该换一家公司了,我之前的公司呆了快一年了,没什么进步,app没技术含量真不好进步。
以前的公司快一年了,基本就做两件事,调用web接口显示数据、调UI,连自定义控件都不需要,搞得我一年了没啥进步。之前公司项目技术含量低,能力没锻炼上,网易面试问我自定义控件需要重写那些方法,还好我背过这方面的资料,于是我就背诵出来了。现在在网易,技术能力提高了很多,主要是项目技术有点含量。现在的项目的技术点,比如:自定义控件方面的,圆角按钮背景颜色是动态改变的,需要的知识:StateListDrawable、GradientDrawable。还有做一些动画。


其他信息:没有博客或微博,有自己的站点:http://bbs.yiwowang.com/


0 0