首页 > 其他分享 >Android-JAR包的引用

Android-JAR包的引用

时间:2024-01-05 14:55:20浏览次数:37  
标签:commonApi JAR jar system framework 引用 Android

一、JAR的定义

    JAR文件(Java归档,英语:Java Archive)是一种软件包文件格式,以ZIP格式构建,以.jar为文件扩展名,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便开发Java平台应用软件或库。

二、JAR的分类

    JAR文件,可分为静态JAR包动态JAR包,其中,

  • 静态JAR包:参与编译,并打包进apk中,占用APK空间;
  • 动态JAR包:参与编译,不打包进apk中,运行时加载;

三、JAR在Android中的使用

  1. 在Android-Studio环境下
    项目的依赖库,需要修改工程下的build.gradle文件:
    • 静态JAR
      一般用于引用第三方的依赖库、模块,如:
    compile files('libs/commonApi.jar')
    
    • 动态JAR
      常见的应用场景就是引用系统框架库,如:
    compileOnly files('libs/framework.jar') 
    
  2. 在Android源码环境下
    项目的依赖库,需要修改对应模块下的Android.mk 或 Android.bp文件:
    • 静态JAR
    LOCAL_STATIC_JAVA_LIBRARIES := commonApi
    
    • 动态JAR
    LOCAL_JAVA_LIBRARIES := commonApi
    

四、动态JAR在Android源码中的实现

  1. 添加一个JAR模块
  2. 将对应JAR包引入Android工程,参与工程编译
  3. 将JAR添加至PRODUCT_BOOT_JARS(build/target/product/core_minimal.mk)
PRODUCT_BOOT_JARS := \
    ...
    framework \
    ...
    commonApi
  1. 添加至白名单(build/core/tasks/check_boot_jars/package_whitelist.txt)
###################################################
# commonApi.jar
com\.zhiqin\.commonApi\..*

  ps:在Android11未添加该值,功能正常,该条件不确定是否必要

  1. 烧写系统system.img,通过adb shell指令验证查看该jar是否导入BOOTCLASSPATH,以验证是否生效
C:\Users\linzhiqin>adb shell $BOOTCLASSPATH
/system/bin/sh: /system/framework/core-libart.jar:/system/framework/conscrypt.jar:/system/framework/okht
Android-JAR包的引用 - 林奋斗同学 - 博客园 (cnblogs.com)    

标签:commonApi,JAR,jar,system,framework,引用,Android
From: https://www.cnblogs.com/wanglongjiang/p/17947256

相关文章

  • Android项目实战(六十八):微信分享的实现
    系统分享://系统转发方式publicstaticvoidshareBySystem(Contextcontext,Filefile){WxUtils.checkFileUriExposure();Intentintent=newIntent(Intent.ACTION_SEND);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);Uricont......
  • Android多行横向来回自动滚动
    使用自定义RecyclerView实现,先看效果,能用得上的再继续往下看……上代码~自定义AutoRollRecyclerView,继承RecyclerView,重点只有这一个类classAutoRollRecyclerView@JvmOverloadsconstructor(context:Context,attrs:AttributeSet?=null):RecyclerView(context,a......
  • iOS苹果和Android安卓测试APP应用程序的差异
    Hello大家好呀,我是咕噜铁蛋!我们经常需要关注移动应用程序的测试和优化,以提供更好的用户体验。在移动应用开发领域,iOS和Android是两个主要的操作系统平台。本文铁蛋讲给各位小伙伴们详细介绍在App测试中iOS和Android的差异,帮助你更好地理解并应对这些差异,以提高你的应用程序的质量和......
  • 寻路迷宫,Android休闲益智小游戏开发
    使用AndroidStudio开发了一款休闲益智小游戏——《寻路迷宫》。A.项目描述《寻路迷宫》是一款非常有趣的小游戏app,玩家需要寻找到迷宫的出口,挑战自己的智力和反应能力。在游戏中,玩家需要操作角色前进、转向等动作,避免被障碍物(迷宫墙)阻挡,玩家需要思考解决方案,如何才能在最短的时......
  • Windows Subsystem for Android (WSA) 下载:在 Windows 11 上运行 Android 应用
    作者主页:www.sysin.org在Beta频道中为Windows预览体验成员宣布Windows11Preview上的Android™应用程序今天我们宣布的Android™应用程序适用于Windows11的第一个预览版现已在Beta频道在美国的WindowsInsiders可用,如果您还没有读过thisblogpostfromGiorgio......
  • Android大图监测的这三种实现方式,你最喜欢哪种?
    在Android应用中,大图的加载和显示可能导致内存占用过高,进而引发OOM(OutOfMemory)异常,影响应用的稳定性和用户体验。为了更好地管理大图资源,我们需要建立起一套可靠的大图监测系统。原理解析内存占用计算首先,我们需要了解如何计算一张图片在内存中的占用大小。Android中,图片占用的内......
  • Android GB28181-2022 图像抓拍
     GB28181-2022新增图像抓拍功能,这个功能很有用,无需在设备实时点播的情况下,就可以抓图上传到指定的图像存储服务器上。如果配置合适的抓拍间隔,JPEG也选择适当的压缩参数,相比实时音视频回传更省流量,设备功耗也低。 GB28181图像抓拍分为三步,一是下发图像抓拍配置命令给设备,......
  • elixr 本地模块引用
    elixir的mix支持引用本地模块,以下是一个简单的学习参考使用项目结构├──app│├──README.md│├──lib││└──app.ex│├──mix.exs│└──test│├──app_test.exs│└──test_helper.exs└──login├──......
  • Windows Subsystem for Android (WSA) 下载:在 Windows 11 上运行 Android 应用 (July
    WindowsSubsystemforAndroid(WSA)下载:在Windows11上运行Android应用(July2023)适用于Android™️的Windows子系统,2023年7月更新:2306.40000.4.0作者主页:sysin.org适用于Android™️的Windows子系统使你的Windows11设备能够运行AmazonAppstore中提供的Andr......
  • [Android] 如何把自定义的 可执行文件/库文件/apk 放到系统目录下
    找到源码目录device/......./<devicename>/<devicename>.mk,以waydroid为例:/device/waydroid/waydroid/waydroid_arm64打开如下文件: lineage_waydroid_arm64.mk添加PRODUCT_PACKAGES变量到上述文件中,比如:PRODUCT_PACKAGES+=可执行文件名/动态库名字/静态库文件名字/apk文件名......