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

相关推荐
Kapaseker9 小时前
写了这么久 Kotlin,你真的理解 in、out 和 * 吗?
android·kotlin
小七在进步9 小时前
C++内存管理:new/delete vs malloc/free深度解析
android·java·c++
geovindu1 天前
sql:Search-Optimized SQL Queries using mysql 9.0
android·数据库·sql·mysql·数据库开发·数据库架构
知之则吱吱1 天前
Android 开发者验证机制迎来新变化:核心要求、实施时间与开发者应对指南
android·google
墨天梦1 天前
D09_Retrofit接口与数据转换
android·kotlin·retrofit
电商API_180079052471 天前
闲鱼商品列表API接口商品详情API接口请求示例(含一份真实响应数据示例)
android·数据挖掘·网络爬虫·跨境电商·反向海淘
我命由我123451 天前
Android 广播 - 组件通信
android·java·开发语言·android studio·android jetpack·android-studio·android runtime
阿俊-全栈开发1 天前
LikeShop 单商户标准版商品管理二开:分类、SKU 规格与库存联动实现
android·likeshop·likeshop开源商城
用户2181697049301 天前
Kotlin 语法二
android