系统内置apk无法使用 手动安装却可以
2026/6/5 4:15:43 网站建设 项目流程

rk平台上遇到bbbs_9.79.19.92.apk系统内置无法使用(切换各种安装目录 加签名也不行) 手动安装却可以

编写RC开机自启脚本

此方案通过编写一个Shell脚本,并将它配置为一个系统服务,在开机完成时触发执行安装指定apk。

目录结构
device/rockchip/rk3576/bbbs_9.79.19.92/ myapk_installer.rc , Android.mk , bbbs_9.79.19.92.apk , install_myapk.sh

  1. 编写安装脚本
    创建脚本文件,例如 install_myapk.sh,内容如下:
#!/system/bin/sh# 检查是否已安装过if["$(getprop persist.sys.myapk.installed)"="1"];thenexit0filog-tMyApkInstaller"Starting APK installation..."# 等待系统服务完全就绪(可选,但手动执行时不需要)# 保留一行 sleep 可避免时机问题,但手动执行时其实无影响sleep2# 执行安装pminstall-r/system/preloads/bbbs_9.79.19.92.apkif[$?-eq0];thensetprop persist.sys.myapk.installed1log-tMyApkInstaller"Installation succeeded"elselog-tMyApkInstaller"Installation failed (exit code:$?)"fi

如果你更我一样系统再win下去创建脚本 需要去掉install_myapk.sh中的win换行符号 不然脚本容易执行不了
sed -i ‘s/\r$//’ install_myapk.sh

  1. 添加启动服务
    在系统的init.rc或特定产品的init.xxx.rc文件中,添加服务定义:
    编写myapk_installer.rc 内容如下
servicemyapk_installer /system/bin/sh /system/bin/install_myapk.sh class main user root group root shell disabled oneshot seclabel u:r:shell:s0 on property:sys.boot_completed=1start myapk_installer
  1. 放置APK和脚本到指定分区
    编写Android.mk文件 内容如下
LOCAL_PATH :=$(call my-dir)# APK 预置到 /system/preloadsinclude$(CLEAR_VARS)LOCAL_MODULE :=bbbs_9.79.19.92.apk LOCAL_MODULE_CLASS :=ETC LOCAL_SRC_FILES :=bbbs_9.79.19.92.apk LOCAL_MODULE_PATH :=$(TARGET_OUT)/preloads LOCAL_MODULE_TAGS :=optional include$(BUILD_PREBUILT)# 安装脚本预置到 /system/bininclude$(CLEAR_VARS)LOCAL_MODULE :=install_myapk.sh LOCAL_MODULE_CLASS :=EXECUTABLES LOCAL_SRC_FILES :=install_myapk.sh LOCAL_MODULE_PATH :=$(TARGET_OUT_EXECUTABLES)LOCAL_MODULE_TAGS :=optional include$(BUILD_PREBUILT)
  1. 添加编译
    b/device.mk中加入
PRODUCT_PACKAGES+=\install_myapk.sh\bbbs_9.79.19.92.apk PRODUCT_COPY_FILES+=\device/rockchip/rk3576/bbbs_9.79.19.92/myapk_installer.rc:/system/etc/init/myapk_installer.rc

测试与验证

adb shellsh/system/bin/install_myapk.sh#验证内置后的脚本是否可以正常运行adb shell getprop persist.sys.myapk.installed#查看是否执行安装adb shell setprop persist.sys.myapk.installed0#可重新设值反复验证

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询