[英]Pre-install some apps so they can be uninstalled without root by user
我可以(作為AOSP構建器)預先安裝一些應用程序,以便在設備上刻錄之后可以輕松地將其卸載(例如常規下載的應用程序)嗎?
我已經熟悉系統應用程序和priv-apps,但是由於它們位於系統分區中,因此無法將其刪除! (僅在設置菜單中禁用)
PS我知道華為例如使用/ system / delapp安裝此類應用程序。 但是,我正在尋找一種通用方法或我正在致力於的AMLogic平台!
您可以通過將構建配置為生成一個包含您的應用程序的userdata.img
文件來實現,然后可以使用fastboot flash userdata
進行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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.