Android开机启动APP
属性配置方式
属性配置方式是KICKPI Android 系统客制功能。(若无法正常使用,需要咨询技术支持)
ADB 方式配置(无需修改源码)
第一步,安装开机启动的APP;(接入U盘,ADB等方式安装)
第二步,获取对应APP的包名和页面类名;点击查看获取方式和测试方法
第三步,配置属性;
$ adb shell
$ setprop persist.sys.bootAppPack $packname
$ setprop persist.sys.bootAppClass $classname
packname包名
classname类名将属性配置为需要开机启动的APP包名和类名。
示例:
$ adb shell
$ setprop persist.sys.bootAppPack com.android.settings
$ setprop persist.sys.bootAppClass com.android.settings.Settings第四步,重启;
SDK 方式配置(修改源码定制镜像)
第一步,预装APK,如 TestLancher;
第二步,获取对应APP的包名和页面类名;点击查看获取方式和测试方法
第三步,添加的APP名为 TestLauncher,添加 TestLauncher 的编译。
第四步,添加包名和类名属性配置
第五步,编译SDK,烧录镜像;
Launcher方式
Android 开机会默认启动 HOME 属性的APP,下面介绍修改APP为带 HOME 属性的APP。
APP 修改
第一步,在APP 的 AndroidManifest.xml 中添加两个 category;
第二步,重新编译生成带 HOME 属性的APP。
ADB 修改方式(无需修改源码)
第一步,安装开机启动的APP;(接入U盘,ADB等方式安装)
第二步,卸载原生桌面;
卸载 tv 桌面app
卸载 tablet 桌面app
当安装好新的 Laucher APP,系统会存在多个HOME属性APP,系统会选择优先级高的优先启动。
需要只启动一个APP,需要将原本的桌面APP删除。
第三步,重启;
SDK 修改方式(修改源码定制镜像)
第一步,预装APK,如 TestLancher;
第二步,修改所有的 TvLauncher 和 Launcher3 为预置APK的名称,如 TestLauncher;
第三步,编译SDK,烧录镜像;
预装APK
示例:预置 TestLauncher APK
第一步,创建 TestLauncher 目录
第二步,存放 Android.mk 和 APK 文件。
Android.mk 文件编写示例:
LOCAL_MODULE指定编译模块的名称
LOCAL_SRC_FILES指定编译文件的路径
第二步,修改apollo_p2.mk文件
路径device/softwinner/apollo/apollo_p2.mk

命令行启动APP
am start 介绍
am start 是 Android 系统中用于启动 Activity 的命令行工具,属于 Activity Manager(am)的一部分。它允许你通过命令行直接启动应用的特定界面,常用于测试、自动化脚本或调试场景。
示例:手动启动设置
com.android.settings 为 APP 的包名
com.android.settings.Settings 为 APP 界面的类名
只需要获取到 APP 的包名和界面类名,可以通过 am start 启动
获取APP的包名和界面类名
查看已安装应用
查看应用的 Activity 信息
示例:
获取APP指定页面的包名和类名
手动打开对应界面
执行命令获取当前活动的 Activity:
比如升级界面:
命令输出会包含类似 com.android.settings/com.android.settings.Settings$SystemUpdateActivity 的信息,其中 / 前面是包名,后面是 Activity 类名,直接替换到 am start -n 命令中即可。
APP特殊权限问题
目前桌面级APP是特殊应用,如果添加特殊权限,可能会出现系统无法起来问题,需要抓取APP相关log日志
SDK 根据 log 修改 android.permission.INSTALL_PACKAGES 内容如下,其他报错类似参考以下添加:
主板路径
Last updated