我可以(作为AOSP构建器)预先安装一些应用程序,因此在设备上刻录后,可以轻松卸载它们(如常规下载的应用程序)吗?
我已经熟悉系统应用程序和priv-apps,但由于它们位于系统分区中,因此无法将其删除! (仅在设置菜单中禁用)
附:我知道huawei例如使用/ system / delapp来安装这样的应用程序.但我正在寻找一种通用方式或专门针对我正在研究的AMLogic平台!
最佳答案 您可以通过配置构建来生成包含应用程序的userdata.img文件,然后使用fastboot flash userdata进行闪存.
用于userdata.img的这些应用程序的Android.mk文件大致如下所示:
include $(CLEAR_VARS)
LOCAL_MODULE := myapp1
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/app
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)
并将应用程序添加到device.mk中的产品包:
PRODUCT_PACKAGES += myapp1 myapp2 ...
你应该能够在GitHub上找到很多例子,例如https://github.com/search?l=Makefile&q=TARGET_OUT_DATA+BUILD_PREBUILT&type=Code
由于您是从头开始构建映像,因此可以将应用程序放在自定义目录下并打包脚本,以便在启动时安装它们(如果尚未安装).您可以通过编辑init.rc文件来调用该脚本,如下所示:
on property:dev.bootcomplete=1
exec - system system -- /system/bin/sh /path/to/installer/script.sh
安装程序脚本可以简单如下:
for apkfile in /path/to/custom/apps/*.apk; do
/system/bin/pm install "$apkfile"
done