Android framework 中间件开发(二)

上篇文章中我们讲述了怎么去开发中间件

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 中间件开发(三)

相关推荐
莞凰19 小时前
昇腾CANN的“灵脉根基“:Runtime仓库探秘
android·人工智能·transformer
NiceCloud喜云20 小时前
Claude Files API 深入:从上传、复用到配额管理的工程化指南
android·java·数据库·人工智能·python·json·飞书
ujainu20 小时前
CANN pto-isa:虚拟指令集如何连接编译与执行
android·ascend
赏金术士21 小时前
第六章:UI组件与Material3主题
android·ui·kotlin·compose
TechMerger1 天前
Android 17 重磅重构!服役 20 年的 MessageQueue 迎来无锁改造,卡顿大幅优化!
android·性能优化
yuhuofei20211 天前
【Python入门】Python中字符串相关拓展
android·java·python
dalancon1 天前
Android Input Spy Window
android
dalancon1 天前
InputDispatcher派发事件,查找目标窗口
android
我命由我123451 天前
Android Framework P3 - MediaServer 进程、认识 ServiceManager 进程
android·c语言·开发语言·c++·visualstudio·visual studio·android runtime
天才少年曾牛1 天前
Android14 新增系统服务后,应用调用出现 “hidden api” 警告的原因与解决方案
android·frameworks