上篇文章中我们讲述了怎么去开发中间件
Android framework 中间件开发(一)
这篇我们讲一下怎么打包中间件给外部应用使用
目录
1.新建项目
2.编写jar包代码
3.打包jar包
4.使用jar包
我们可以直接将系统编译出来的framework的jar包拿出来直接用,但是为了安全起见,防止用户调用不该用的API,所以我们需要将framework的jar包再打包一层,只暴露需要的函数
framework的jar包位置:
out\target\common\obj\JAVA_LIBRARIES\framework_intermediates\classes-header.jar
1.新建项目
打开AndroidStudio,随便新建一个空项目,然后点击左上角File->New->New Module
新建一个模块之后,将classes-header.jar复制到module的libs目录下(没有的话新建一个)
目录结构如下:
编辑mudule的build.gradle,添加如下几行:
将jar包添加到项目中:
implementation fileTree(dir: 'libs', include: ['*.jar'])
生成新的jar包,并指定路径和名字:
task makeJar(type: Copy) {delete 'build/libs/darksdk.jar'from('build/intermediates/aar_main_jar/debug/')into('build/libs/')include('classes.jar')rename ('classes.jar', 'darksdk.jar')
}
makeJar.dependsOn(build)
然后点击右上角的Sync Now,
2.编写jar包代码
在module中,新建一个类,这个就是外部应用调用的类.
package com.example.darklib;import android.annotation.SuppressLint;
import android.content.Context;import android.darkcontrol.DarkControlManager;public class DarkManager {private Context context;private DarkControlManager darkControlManager;@SuppressLint("WrongConstant")public DarkManager(Context context) {this.context = context;darkControlManager = (DarkControlManager)context.getSystemService("dark_control");}/*** 设置亮度* @param bright 0~1*/public void setBright(float bright) {darkControlManager.setBright(bright);}
}
3.打包jar包
编写完成之后点击这边:
等编译完成后:
这便是我们给客户的jar包了
4.使用jar包
和上面的使用步骤一样,将darksdk.lib复制出来,放到项目的libs目录下,并在build.gradle的dependencies节点下添加
implementation fileTree(dir: 'libs', include: ['*.jar'])
然后点击右上角的Sync Now,
在项目中调用:
至此打包中间件和使用jar包步骤完成
下一篇我们讲中间件中添加C++代码:
Android framework 中间件开发(三)