环境

安卓, android 11

步骤

编译sdk并从编译生成的out目录下查找
sdk/out/target/common/obj/JAVA_LIBRARIES/framework-minus-apex_intermediates/classes.jar

拷贝出来,重命名为framework.jar
将jar包放入工程libs下面,然后配置build.gradle

allprojects {
    repositories {
        google()
        jcenter()
    }
    //add start
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs.add('-Xbootclasspath/p:app/libs/framework.jar')
        }
    }
    //add end
}

dependencies {
    compileOnly files('libs/framework.jar')
 }

这样就可以直接使用framework中的类了,比如系统设置中用到的屏幕颜色管理类ColorDisplayManager
kotlin代码示例

import android.hardware.display.ColorDisplayManager

// 打开护眼模式
val colorDisplayManager = ColorDisplayManager()
colorDisplayManager!!.setNightDisplayActivated(true)

安卓framework

安卓 Framework 是安卓操作系统的核心框架,为开发者提供了一系列的 API,用于开发安卓应用。以下是关于安卓 Framework 的详细介绍:

架构层次

Linux 内核层:提供了底层的硬件驱动、内存管理、进程管理等功能,是安卓系统的基础。
系统运行库层:包含了一些 C/C++ 库,如 SQLite、OpenGL 等,以及安卓运行时环境(ART)。
应用框架层:为开发者提供了一系列的 API,包括四大组件(Activity、Service、Broadcast Receiver、Content Provider)、视图系统、资源管理等。
应用层:即用户安装和使用的各种安卓应用。

主要功能

组件管理:负责管理安卓应用中的四大组件,包括组件的启动、停止、生命周期管理等。通过 Intent 机制实现组件之间的通信和交互。
资源管理:提供了对应用资源(如字符串、图片、布局文件等)的管理和访问功能。开发者可以通过资源 ID 来获取相应的资源,方便应用的国际化和主题切换等功能的实现。
视图系统:用于构建应用的用户界面,包括各种视图控件(如 TextView、Button、ImageView 等)和布局管理器(如 LinearLayout、RelativeLayout、FrameLayout 等)。开发者可以通过组合这些视图控件和布局管理器来实现丰富多样的用户界面。
消息机制:实现了线程之间的通信和消息传递,通过 Handler、MessageQueue 等类来实现。例如,在子线程中完成耗时操作后,可以通过 Handler 将结果发送到主线程更新 UI。
系统服务:提供了各种系统级别的服务,如电源管理、网络管理、位置服务等。开发者可以通过调用相应的系统服务来获取设备的相关信息和执行特定的操作。

开发流程

开发者在开发安卓应用时,主要是基于安卓 Framework 提供的 API 进行开发。首先,根据应用的功能需求,选择合适的组件进行设计和开发。例如,如果要开发一个具有用户界面的应用,通常会创建一个或多个 Activity,并在其中添加各种视图控件来实现界面布局。然后,通过重写组件的生命周期方法,如onCreate、onStart、onResume等,来实现组件在不同状态下的行为逻辑。在应用中,如果需要与其他组件进行通信或获取系统服务,可以通过 Intent 或相应的服务获取方法来实现。

安卓 Framework 为安卓应用开发提供了强大的基础和丰富的功能,使得开发者能够专注于应用的业务逻辑实现,而无需过多关注底层的系统细节。同时,安卓 Framework 也在不断发展和更新,以适应不断变化的硬件设备和用户需求。

更多推荐