簡體   English   中英

預安裝一些應用程序,以便用戶無需root即可將其卸載

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM