移动产品经理精进篇(1)快速了解android ndk

作为一名专业移动产品经理,你最好会一门移动端语言,这对你的技术可行性分析,ui、ue设计等等与技术协调相关的工作有很大的帮助。

很多人都想学习sdk的开发,大概都是应用层开发人员想要更近一步,增加自身的竞争力。sdk有两种形式存在,一种是jar包,一种是so文件,ndk生成的是以.so结尾的文件。

那么到底

NDK是什么?

Native Development Kit 全称 原生(本地)开发工具包,“工具包” 的意思表明NDK是一系列工具的集合,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。

NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。在这里不讲解具体的操作过程,可以百度搜索一下相关开发人员的博客,我对自己的要求就是了解开发需要什么,具体的步骤,结果是什么就行。

NDK最大作用是什么?

1. 避免多平台重复编写代码,让客户端开发更加简单,运营更稳定,功能更强大。

2. 将生态打包,建立一定的门槛

3. 安全性考虑,增加反编译拆包难度

NDK的实现原理是什么?

通过Jni协议来沟通Java代码和外部的本地C/C++代码, Java代码可以调用外部的本地代码, 外部的C/C++ 代码可以调用Java代码;

步骤:

a.创建Android工程

b.用java声明native方法

c.创建C文件

d.编写Android.mk文件

e.NDK编译生成动态库

ndk-build 命令把名为hello的c语言文件生成so文件的sdk

d.Java中加载动态库

static{

System.loadLibrary("hello");

}

如果想要再精进学习,需有c或c++基础,利用ndk工具将功能框架搭好,做出稳定、安全、易懂的sdk提供给开发者。

招聘方面:懂得ndk开发的工程师一般在15K到20K不等为合理,有钱人招聘上不封顶,能够独立制作底层硬件sdk封装+app独立开发那是很不错的人才。

对ndk的了解还能够让我们对一些商务问题找到解决方案!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,813评论 25 708
  • Android游戏开发实践(1)之NDK与JNI开发02 承接上篇Android游戏开发实践(1)之NDK与JNI...
    AlphaGL阅读 3,773评论 0 24
  • 一、NDK产生的背景 Android平台从诞生起,就已经支持C、C++开发。众所周知,Android的SDK基于J...
    Ten_Minutes阅读 3,530评论 1 27
  • 平时,我最常说的口头禅就是:好吧,也许吧,应该是这样的。总之带有不确定性,反映到内心其实是对很多事情没有主见,人云...
    经典_cj阅读 171评论 2 1
  • 鸡汤到今天可谓千夫所指,其实刚开始鸡汤并不是贬义词,而是比喻可以滋养心灵的温暖的积极向上的文字。但后来鸡汤被滥用了...
    桨一阅读 706评论 9 8