一:aar文件如何引用

系统Settings中引用bidehelper-1.1.12.aar 文件为例
源码地址:packages/apps/Settings/Android.mk

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)LOCAL_SRC_FILES := \$(call all-logtags-files-under, src)LOCAL_MODULE := settings-logtagsinclude $(BUILD_STATIC_JAVA_LIBRARY)# Build the Settings APK
include $(CLEAR_VARS)LOCAL_PACKAGE_NAME := Settings
LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_USE_AAPT2 := trueLOCAL_SRC_FILES := $(call all-java-files-under, src)LOCAL_STATIC_ANDROID_LIBRARIES := \android-support-v4 \android-support-v13 \android-support-v7-appcompat \android-support-v7-cardview \android-support-v7-preference \android-support-v7-recyclerview \android-support-v14-preferenceLOCAL_JAVA_LIBRARIES := \bouncycastle \core-oj \telephony-common \ims-common \telephony-extLOCAL_STATIC_JAVA_LIBRARIES := \jsr305 \settings-logtags+   LOCAL_STATIC_JAVA_AAR_LIBRARIES := bide_helper+   LOCAL_AAPT_FLAGS := \
+      --auto-add-overlay \
+      --extra-packages com.blackberry.bidehelperLOCAL_PROGUARD_FLAG_FILES := proguard.flagsifneq ($(INCREMENTAL_BUILDS),)LOCAL_PROGUARD_ENABLED := disabledLOCAL_JACK_ENABLED := incrementalLOCAL_JACK_FLAGS := --multi-dex native
endifinclude frameworks/opt/setupwizard/library/common-gingerbread.mk
include frameworks/base/packages/SettingsLib/common.mkinclude $(BUILD_PACKAGE)+   include $(CLEAR_VARS)+   LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \
+          bide_helper:libs/bidehelper-1.1.12.aar+   include $(BUILD_MULTI_PREBUILT)# Use the following include to make our test apk.
ifeq (,$(ONE_SHOT_MAKEFILE))
include $(call all-makefiles-under,$(LOCAL_PATH))
endif

主要代码如下:

#名称可以随便写
LOCAL_STATIC_JAVA_AAR_LIBRARIES := bide_helper#写入aar文件中的包名
LOCAL_AAPT_FLAGS := \--auto-add-overlay \--extra-packages com.blackberry.bidehelper

aar文件中的包名可以用压缩工具直接打开,查看AndroidManifest.xml文件

  <?xml version="1.0" encoding="utf-8" ?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.blackberry.bidehelper" android:versionCode="1" android:versionName="1.0.0.219"><uses-sdk android:minSdkVersion="21" android:targetSdkVersion="26" /> <application android:allowBackup="false" android:label="@string/app_name" android:supportsRtl="true" /> </manifest>
include $(CLEAR_VARS)#构建静态java库
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \bide_helper:libs/bidehelper-1.1.12.aarinclude $(BUILD_MULTI_PREBUILT)

编译后文件生成路径:out\target\product\msm8909\obj\JAVA_LIBRARIES


喜欢源码分析系列可参考其他文章:
Android源码分析(一)-----如何快速掌握Android编译文件
Android源码分析(二)-----如何编译修改后的framework资源文件
Android源码分析(三)-----系统框架设计思想
Android源码分析(四)-----Android源码编译及刷机步骤
Android源码分析(五)-----如何从架构师的角度去设计Framework框架

转载于:https://www.cnblogs.com/ljx646566715/p/10893929.html

Android源码分析(十一)-----Android源码中如何引用aar文件相关推荐

  1. Android录屏分析(Android12源码)

    Android录屏分析 目录 Android录屏分析 prepare方法(准备录制) MediaProjection.MediaRecorder.VirtualDisplay的介绍 开始与结束 缩略图 ...

  2. zg手册 之 python2.7.7源码分析(1)-- python中的对象

    为什么80%的码农都做不了架构师?>>>    源代码主要目录结构 Demo: python 的示例程序 Doc: 文档 Grammar: 用BNF的语法定义了Python的全部语法 ...

  3. spring源码分析第一天------源码分析知识储备

    spring源码分析第一天------源码分析知识储备 Spring源码分析怎么学? 1.环境准备: 2.思路    看:是什么? 能干啥    想:为什么?     实践:怎么做?         ...

  4. ABP源码分析四十七:ABP中的异常处理

    ABP源码分析四十七:ABP中的异常处理 参考文章: (1)ABP源码分析四十七:ABP中的异常处理 (2)https://www.cnblogs.com/1zhk/p/5538983.html (3 ...

  5. k8s client-go源码分析 informer源码分析(3)-Reflector源码分析

    k8s client-go源码分析 informer源码分析(3)-Reflector源码分析 1.Reflector概述 Reflector从kube-apiserver中list&watc ...

  6. Java集合类框架源码分析 之 LinkedList源码解析 【4】

    上一篇介绍了ArrayList的源码分析[点击看文章],既然ArrayList都已经做了介绍,那么作为他同胞兄弟的LinkedList,当然必须也配拥有姓名! Talk is cheap,show m ...

  7. Android 源码分析 (十一) ContentProvider 启动

    ContentProvider (内容提供者) 属于四大组件之一,可以说它是在四大组件中开发者使用率最少的一个,它的作用就是进程间进行数据交互,底层采用 Binder 机制进行进程间通信. 下面我们就 ...

  8. 【Android 插件化】VirtualApp 源码分析 ( 启动应用源码分析 | HomePresenterImpl 启动应用方法 | VirtualCore 启动插件应用最终方法 )

    文章目录 一.启动应用源码分析 1.HomeActivity 启动应用点击方法 2.HomePresenterImpl 启动应用方法 3.VirtualCore 启动插件应用最终方法 一.启动应用源码 ...

  9. 【Android 插件化】VirtualApp 源码分析 ( 添加应用源码分析 | LaunchpadAdapter 适配器 | 适配器添加元素 | PackageAppData 元素 )

    文章目录 一.添加应用源码分析 1.LaunchpadAdapter 适配器 2.适配器添加元素 3.PackageAppData 元素 一.添加应用源码分析 1.LaunchpadAdapter 适 ...

最新文章

  1. 如何让一滴水不蒸发?
  2. [k8s]elk架构设计-k8s集群里搭建
  3. 【数论】能量采集(P1447)
  4. leetcode1471. 数组中的 k 个最强值(排序)
  5. 苹果推送iOS 15.0.1版本 修复涉及iPhone 13的Bug
  6. Linux下使用ps命令来查看Oracle相关的进程
  7. Java(2)数据类型转换、变量和常量
  8. 设计并搭建Python容器化项目的CI/CD流水线
  9. Java函数参数传递方式
  10. 从程序员到合格的软件设计师
  11. 如何零基础入门PS软件?
  12. 电商与硬件——从购买电脑的角度学计算机硬件基础
  13. 2020版本idea 左视图跟随主视图定位操作
  14. Solaris中文FAQ
  15. python为什么打不开py文件_python文件打不开如何解决
  16. 时序图神经网络总结(1)
  17. Mac上doc 转docx
  18. 深信服超融合基础架构管理平台--虚拟网络测试实践
  19. 2004.09.03--09.05 这几天献给了广州的第二代身份证系统
  20. 树莓派3B实现软路由过程记录(无线网络通过网线共享给台式机)

热门文章

  1. 17 - 引用类型比较内容
  2. java 数组 截取_Java成长孵化园---认识java(day09)
  3. 如何 方法内指令重排 进制_谈谈指令重排
  4. c++将小写转换为大写函数_必须掌握的基础函数组合应用技巧,提高效率,准时下班...
  5. matlab 生成信号文件,生成的代码如何存储内部信号、状态和参数数据
  6. java quartz spring_JavaLib-quartz | 基于Spring Boot Quartz开发的定时任务
  7. java excel api及详细教程_针对Java Excel API及详细教程
  8. python os.environ windows_python 获取系统环境变量 os.environ and os.putenv
  9. java callable接口_Java多线程之Callable接口的实现有返回值的线程
  10. java切换jdk版本_切换JDK版本quick