首页 > 解决方案 > 如何卸载 ANDROID CAR EMULATOR 默认应用

问题描述

我正在尝试卸载默认的 android 汽车模拟器应用程序,如音乐、收音机、时钟和日历。我能够构建和午餐 ANDROID CAR EMULATOR。(参考 - http://www.embien.com/blog/building-安卓汽车模拟器/

我的问题是如何从安卓汽车模拟器中卸载上述默认应用程序。

标签: androidadbandroid-source

解决方案


我看到汽车模拟器是作为常规目标构建的,因此应该适用相同的规则。

如果您需要从目标中删除系统应用程序,则需要从.mk文件中删除其包名,这些文件是 AOSP 的一种 make 文件。例如https://android.googlesource.com/device/generic/car/+/refs/tags/android-8.1.0_r65添加连击aosp_car_emu_x86-userdebug等(见vendorsetup.sh那里)

aosp_car_x86.mk包括其他文件:

$(call inherit-product, device/generic/car/common/car.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_x86.mk)

common/car.mk是添加/启用特定于汽车的东西的主要文件。这些应用程序很可能是在 .mk 文件中指定的PRODUCT_PACKAGES,而不是在car.mk其中包含的其他一些 .mk 文件中product/aosp_x86.mk- 那里包含许多级别的内容,请耐心等待。

据我所知,AOSP 中没有排除包的特殊功能(仅包含。有一个功能(我不记得确切)在模块中指定它覆盖其他一些模块(您想要删除),但通常它可能会导致一些其他冲突)。

因此,您还需要找到应用程序所属的包名称,并将其从 .mk 文件中删除(或使用一些包含您自己的应用程序的裸/简约目标)。使用mgrep命令查找包的位置。

要找到一个应用程序的包名,你需要找到它的.mk 文件,这也不容易。resgrep或者mangrep可能会有所帮助。请参阅https://elinux.org/Android_Build_System


推荐阅读