如何卸载ANDROID CAR EMULATOR默认应用

时间:2019-07-12 09:06:32

标签: android adb android-source

我正在尝试卸载默认的Android汽车模拟器应用程序,例如音乐,收音机,时钟和日历。我能够构建ANDROID CAR EMULATOR并为其提供午餐。(reference-{http://www.embien.com/blog/building-android-car-emulator/

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

1 个答案:

答案 0 :(得分:0)

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

如果需要从目标中删除系统应用程序,则需要从.mk文件中删除其程序包名称,这些文件是AOSP的生成文件。例如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是添加/启用汽车特定功能的主要文件。应用很可能是在PRODUCT_PACKAGES中指定的,而不是在car.mk中指定的,而是在通过product/aosp_x86.mk包含的其他.mk文件中指定的-在其中包含许多级别的内容,请耐心等待。

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

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

要找到应用程序的软件包名称,您需要找到其.mk文件,这也不容易。 resgrepmangrep可能会有所帮助。参见https://elinux.org/Android_Build_System