`
OliveExcel
  • 浏览: 71609 次
文章分类
社区版块
存档分类
最新评论

Android工程(AOSP)下对default java library新增库

阅读更多

疑问与解答:

1. 在AOSP编译过程中, 每个module, 都需要通过Android.mk, 配置编译module需要依赖的lib. 这个配置一般通过 LOCAL_JAVA_LIBRARIES 或者 LOCAL_STATIC_JAVA_LIBRARIES 实现;

2. 某些module, 如果不依赖特定的lib, 那么上述lib依赖关系的字段是可以不写的. 但是在这些module在编译过程中, 明显依赖了frameworks的一些接口, 但为什么不需要声明依赖关系?

3. 答案很简单很无聊: 系统帮你指定了默认的lib呗.

 

需求:

那么问题来了, 如果想往AOSP的默认lib里面, 添一个自己的lib, 要怎么实现?

 

实现:

简单粗暴的把代码放出来:

1. build/core/java.mk

...
LOCAL_JAVA_LIBRARIES := bla-bla Ted-New-Lib
...

上述代码中的Ted-New-Lib就是新增的lib.

注意该文件中, 存在多个对LOCAL_JAVA_LIBRARIES赋值的位置, 除了最后一个排序的, 其他都得这样修改.

 

2. build/target/product/core_minimal.mk

# The order of PRODUCT_BOOT_JARS matters.
PRODUCT_BOOT_JARS := \
    ...
    Ted-New-Lib
    ...

这部分代码放在minimal下不是optional的, 可以根据需求, 放在其他几个core_xxx.mk中.

 

3. frameworks/base/Android.mk

...
LOCAL_JAVA_LIBRARIES := bla-bla Ted-New-Lib
...

 

4. 其他配置了LOCAL_NO_STANDARD_LIBRARIES := true的module, 也同样需要follow第3点的修改.

 

原理:

晚点写.

发现某些网站会到iteye上面抓文章repost, 还不注明出处.

所以决定让它们先抓一个不完整的版本.

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Android AOSP工程文件

    在Android开发领域,AOSP(Android Open Source Project)是谷歌发布的Android操作系统的开源代码库。开发者可以在这里获取到Android系统的核心组件和框架层的源代码,进行定制化开发或者研究。在你提到的文件中,...

    android获取AOSP键盘支持语言的哈希值app

    android获取AOSP键盘支持语言的哈希值app,可以用于设置AOSP默认的输入语言。设置方法为通过设置系统中的Settings.Secure.ENABLED_INPUT_METHODS属性值,来进行默认,在使能的输入法中添加对应的语言哈希值即可...

    android AOSP 模拟器启动成功日志

    android AOSP 模拟器启动成功日志, 仅供参考

    Android键盘 AOSP监听delete按键

    在Android系统中,Android键盘(AOSP,Android Open Source Project)是用户与设备进行交互的重要组成部分,特别是对于输入文本的应用场景。在某些情况下,开发者可能需要对键盘的行为进行自定义,比如监听特定按键...

    Android AOSP日志文件

    在Android操作系统中,AOSP(Android Open Source Project)是一个开源项目,它包含了构建整个Android系统的核心源代码。日志文件是Android系统中的一个重要组成部分,它们记录了系统的运行状态、错误信息以及各种...

    AOSP Android安卓源码mk集成LeakCanary进行内存泄漏检测

    4. 创建Android.mk文件:如果尚未为LeakCanary创建Android.mk文件,你需要创建一个,定义模块的基本信息,如模块类型(通常是STATIC_LIBRARY或SHARED_LIBRARY),以及上述步骤中的LOCAL_JAVA_LIBRARIES和LOCAL_SRC_...

    java android 执行脚本代码(java代码)

    - 对于更复杂的脚本需求,开发者可以选择修改AOSP(Android Open Source Project)源码,将特定的脚本引擎集成到系统中,但这通常需要对Android系统有深入的理解。 在`src`目录下,通常会包含Java源代码文件,这些...

    Android Aosp开源代码

    Android Aosp开源代码

    Android键盘AOSP监听delete按键2

    Android键盘AOSP监听delete按键:通过重写EditText的InputConnection 类的sendKeyEvent 方法来解决这个问题,添加了deleteSurroundingText方法

    android键盘

    在Android系统中,键盘是用户与设备交互的重要组成部分。"简单键盘"可能指的是开发者为了特定需求或者学习目的创建的一个自定义键盘实现。本文将深入探讨Android键盘的相关知识点,包括系统键盘、自定义键盘以及如何...

    AOSP - SntpClient.java 源码

    SntpClient.java 源码

    使用AOSP项目编译的Android系统,会发现在部分APP使用系统自带的浏览器内核来加载网页时会出现报错,加载不出网页的情况

    在Android系统中,AOSP(Android Open Source Project)是一个开源项目,它包含了构建完整Android操作系统所需的所有源代码。用户和开发者可以根据AOSP源代码编译出自己的Android系统镜像。然而,由于AOSP是一个基本...

    android 底层代码libcore

    libcore包含了Java标准库的一些实现,如I/O流、XML解析、加密算法等,同时也为Android系统提供了与硬件交互的基础服务。本文将深入探讨libcore的核心功能和其在Android系统中的作用。 一、libcore概述 libcore是...

    AOSP源码集合 Android源码集合

    Android源码集合,包含1.x ~9.0的AOSP源码,压缩为7z包,解压即是完整源码,不需要repo更新

    aosp-download-tool:从清华大学AOSP开源软件附属站下载指定仓库代码的工具

    aosp-下载工具从清华大学AOSP开源软件附属站下载指定仓库代码的工具使用方法$ python code_fetcher.py -hcode_fetcher.py -d download_top_dir -m manifest.xml [-b branch]$ python code_fetcher.py -d nfc -m ...

    Android工程模式简介.rar

    本篇文章将对Android工程模式的代码实现进行详细解读,旨在帮助开发者了解如何创建自定义的工程模式入口。 首先,我们要理解Android系统的基本结构。Android是基于Linux内核的操作系统,它的框架层包括系统服务、...

    windows环境下载android源码批量下载 java版本

    总的来说,Windows环境下使用Java版本工具批量下载Android源码是一个涉及多步骤的过程,需要对Git、Android SDK以及可能的Java编程有一定的了解。尽管过程繁琐,但对于深入学习和定制Android系统,这是一个必要的...

    Android仿谷歌输入法PinyinIME源码.zip

    通过对这个源码的学习,开发者可以了解到如何在Android系统中集成和实现自定义输入法,同时也能掌握到Android服务的使用、UI设计、事件处理等方面的技巧。这对于想要开发自己的输入法应用或者优化现有输入法功能的...

    androidmk 转换Android.bp工具方法

    2. **运行转换**:在包含`Android.mk`的目录下,执行`mm-to-bp`命令。这将生成一个或多个`Android.bp`文件。 3. **手动调整**:转换后的`Android.bp`文件可能需要根据项目需求进行手动调整。检查生成的文件,确保...

    Android HID连接

    理解这一技术涉及到Android系统对HID设备的支持、连接流程、以及如何在应用程序中集成HID功能。 首先,HID是USB设备类规范的一部分,定义了如何与人机交互设备通信的接口。在Android系统中,对于USB HID设备的支持...

Global site tag (gtag.js) - Google Analytics