首先,如果有说明文档和实例代码是最好的。说明文档中最好能列出C语言中所有对外函数的说明及使用方法,C++和java中所有对外的类的说明及使用方法。
其次,不管是什么语言或者系统的SDK都应该有一个Include目录,里面包含对外的头文件。
再次,也是最重要的,必须要包含library,SDK的功能实体是由各种类型的library完成的,主要是动态库。
下面针对不同的语言,详细说明一下。
C语言版的SDK:
Include目录:里面包含C语言的头文件,一般来说包括结构体的定义,宏定义,枚举定义及对外的函数的声明。
library目录:
在windows平台下:一般是dll动态库,及动态库相关的lib。
在linux平台下:一般是so动态库,或者a静态库。
android平台下:一般是so动态库。
C++版的SDK:
Include目录:里面包含C++语言的头文件,一般来说包括类的定义,结构体定义,名字命名空间,模板声明,模板帝国一,函数声明,函数定义。常量定义等。
library目录:
在windows平台下:一般是dll动态库,及动态库相关的lib。
在linux平台下:一般是so动态库,或者a静态库。
android平台下:一般是so动态库。
Android版的SDK:
对于android版的SDK来说,一般有几种形式的SDK,只有native层相关的库,包含native层和java层的库,包含native层,java层和androidactivity等其它要素。
只有native层相关的库:
这种形式一般是以so库的方式存在,如果native层使用c语言编写,则在include目录下需提供相应的c语言的头文件。如果是使用C++语言编写,则include目录下是c++语言的头文件。
包含native层和java层的库:
一般是jar包的形式存在。native层,同样有so库和include目录。
包含native层,java层和androidactivity等其它要素:
一般以aar包的形式存在。native层同样有so库和include目录。