移动产品经理精进篇(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的了解还能够让我们对一些商务问题找到解决方案!

你可能感兴趣的:(移动产品经理精进篇(1)快速了解android ndk)