首页 > 解决方案 > android build system根据包名获取源码路径

问题描述

我想根据包名获取包源代码,例如xxx.apk

我知道它可以通过 grep 过滤LOCAL_PACKAGE_NAME。但 AOSP 源太大。

是否有任何构建系统命令可以列出所有包名称和路径?

问候

标签: androidandroid-source

解决方案


TLDR

. build/envsetup.sh

# Show list of modules for the selected configuration.
lunch
m modules

# Grep for your module.
mgrep <module>

解释

调用后,. build/envsetup.sh您只能使用mgrepgrep 构建配置文件。

请注意,Android 目前并行使用两种构建配置类型。旧的 makefile 类型 files( Android.mk) 将包含LOCAL_PACKAGE_NAME. 但是,新的 Soong 模块文件 ( Android.bp) 具有不同的语法。您最好 grep 模块名称而不是LOCAL_PACKAGE_NAME.

您可以使用m modules获取构建系统已知的所有模块的列表。此命令要求您先运行lunch。此外,返回的列表m modules将仅包含lunch配置选择的模块。


推荐阅读