安卓首次启动Fallbackhome是否可以直接去除?--学员作业

背景:

有学员朋友在vip群提出一个需求相关的问题,他想要把settings裁剪掉,但是发现裁剪后Fallbackhome肯定就没了,发现Launcher居然无法启动了,一直处于Bootanimation的画面,无法进入系统。

针对这个去除Fallbackhome去除后是否可以正常进入Launcher的问题,学员们也进行了激烈讨论,很多学员朋友都猜想肯定还是会进入Launcher的,只是可能时间会长一点,那么真实的情况是真的会吗?

同时提出问题的朋友还提出另一个现象:

那就是系统首次开机是可以进入到Launcher的,只是再启动reboot后就不可以了。

问题复现:

复现环境:

aosp 15 编译模拟器

复现修改:

尽可能按照学员朋友的要求进行复现,不过学员朋友是直接去除settings这个apk,其实完全不需要一定去除apk,可以考虑只去除Fallbackhome这个Activity就行

修改如下:

直接屏蔽掉设置的Fallbackhome这个Activity

packages/apps/Settings/AndroidManifest.xml
修改后进行编译 make

然后运行模拟器:emulator

发现系统一直处于bootanimation画面,时间再久也无法进入的Launcher,(注意这里大家不要设置任何设备锁)

其实这里也就是很多学员有的疑问:
马哥课程里面讲解的Fallbackhome本身好像没有干啥啊,它也只是等待检测设备解锁后启动Launcher,Fallbackhome本身自己又没有调用啥解锁,属于被动,所以普遍认为系统会自己解锁,解锁后自然会触发系统重新进行Launcher的启动。

作业提示:

上面学员的疑问和猜想其实很正常哈,说明学员们还是有认真学习Fallbackhome这块的内容。

这里大家可能会有如下想法,是不是Launcher桌面在解密后没有再被触发startActivity,是否可以考虑手动再触发startActivity既可以。

尝试命令行启动

bash 复制代码
test@test:~/aosp15/frameworks$ adb shell am start -n com.android.launcher3/.uioverrides.QuickstepLauncher
Starting: Intent { cmp=com.android.launcher3/.uioverrides.QuickstepLauncher }
Error type 3
Error: Activity class {com.android.launcher3/com.android.launcher3.uioverrides.QuickstepLauncher} does not exist.

发现依然是找不到Launcher的Activity

再看看是不是还处于加密状态:

作业要求:

1、请在上面已经对settings屏蔽了Fallbackhome后,想一个办法可以让开机动画结束,正常进入系统

2、请剖析出原因,为啥Fallbackhome去除后就会导致系统一直卡在开机动画

3、如过想要去除Fallbackhome,又要系统可以正常启动,有啥完美的方案呢?

4、请解释为啥上面说的第一次启动可以进入Launcher后面reboot后就再也不可以了

更多framework实战开发干货,请关注下面"千里马学框架"

相关推荐
千里马学框架3 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台3 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone3 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
致远ccc3 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
ttyyttemo3 天前
Kotlin 协程中的 Job 结构化并发与取消
android
sun0077003 天前
tbox 4g/5g切换,导致wan ip 改变,导致车机旧网络不可用。需要重启车机才行
android
其实防守也摸鱼3 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
AFinalStone3 天前
Android7 SystemUI 源码解析(四)NavigationBar 导航栏与 SystemBars
android·systemui
JMchen3 天前
属性动画原理与高级动画实现
android·kotlin·canvas
AFinalStone3 天前
Android7 SystemUI 源码解析(二)启动流程深度解析
android·systemui