前言:什么叫SDK?
软件开发工具包(Software Development Kit,缩写SDK)一般是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
Android常见的SDK有哪些形式?
(1) .so 库:是 C 或 C++ 语言而打包成的库。
(2) jar 包: 里面包含了 class 文件与清单文件,不包括图片、页面等资源文件,是 Java 常用的方式。
(3) aar 包: 里面包含了所有资源,包括图片、页面等,是 Android 常用的方法。
一、生成.so库开发SDK(又称为JNI开发)
1. 创建Native C++项目
先Native C++项目,New-> New project-> Native C++ -> Finish
Project结构目录如下:
2. 添加需要提供第三方调用的接口
添加一个名为JNITools的调用工具类,里面提供了一个求和的方法。
3. 在native-lib.cpp文件下实现接口方法调用
extern "C" JNIEXPORT jint JNICALL
Java_com_cxj_mylibrary_JNITools_addNumber(JNIEnv *env, jobject thiz, jint a, jint b) {
return a+b;
}
4. Bulid->Make Project 生成so库
生成的.so库路径如下:
二、新项目使用.so库
1. 创建新项目
先创建一个空白项目,New-> New project-> Empty Activity-> Finish(常规操作)
2. 在libs目录下放置生成的so库
3. 在bulid.gradle下添加以下代码
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
4. jni 调用类的路径要与so库源码路径一致
创建相同路径的包名,路径与创建的so库项目路径不一致会报错!
5. 调用so库的方法
6. 运行结果