• AOSP Android 系统源码编译出的framework.jar和android.jar之间的区别


    简介

    AOSP(Android Open Source Project)编译出的 android.jar 和 framework.jar 都是 Android 平台开发中的重要组件,但它们有不同的作用和用途:

    1. android.jar:

      • 用途:android.jar 包含了 Android API 的定义,它是 Android 应用程序开发的核心库。开发者在编写 Android 应用程序时,使用 android.jar 中的类和方法来与 Android 系统进行交互,访问设备功能和系统服务。

      • 内容:android.jar 包含了 Android Framework 中的 API 定义,但不包含实际的实现代码。这意味着它只包含了类和方法的签名信息,而没有具体的实现。这样可以确保应用程序开发者使用的 API 是公开的、稳定的,并且与 Android 版本无关。

      • 使用:android.jar 通常被包含在 Android 应用程序项目的类路径中,以便开发者可以在编译和开发过程中引用 Android API。

      • 输出路径: android.jar 文件通常位于 Android 源代码树的 out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar 目录中。注意这些路径可能会因不同的 Android 版本和编译配置而有所不同。

    2. framework.jar:

      • 用途:framework.jar 包含了 Android Framework 层的实际 Java 代码。这些代码实现了 Android 操作系统的核心功能,包括各种系统服务、管理应用生命周期、处理用户界面等。这是 Android 系统自身的一部分。

      • 内容:framework.jar 包含了 Android Framework 层的具体实现,包括各种类、方法和功能的代码。

      • 使用:framework.jar 不是用于 Android 应用程序开发的库,而是用于 Android 系统的开发和定制。Android 系统开发人员可以在 Android 源代码的基础上进行自定义,修改和扩展 framework.jar 中的代码来创建定制的 Android ROM。

      • 输出路径:framework.jar 文件位于 Android 源代码树的 out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar 目录中。注意这些路径可能会因不同的 Android 版本和编译配置而有所不同。

    总结

    • 总结来说,android.jar 用于 Android 应用程序开发,提供了对 Android API 的访问,而 framework.jar 是 Android 系统的一部分,包含了 Android Framework 层的实际实现代码。应用程序开发者通常只需关注 android.jar,而 Android 系统开发人员可能需要涉及到 framework.jar 来进行系统级的定制和修改。

    格莱纳里夫森林公园的日落

  • 相关阅读:
    一键自动化博客发布工具,用过的人都说好(头条篇)
    React类组件和函数组件对比-Hooks的介绍及初体验
    三维模型体积计算及其注意事项
    Paddle CrowdNet 人群密度估计
    MongoDB文档存储
    flex布局
    Web服务器实战
    其实 Gradle Transform 就是个纸老虎 —— Gradle 系列(4)
    【牛客 - 剑指offer】JZ77 按之字形顺序打印二叉树 Java实现
    拼图小游戏
  • 原文地址:https://blog.csdn.net/ezconn/article/details/132894146