AutoJs6
AutoJs6 copied to clipboard
华为和荣耀的系统里面app图标没白底
其它安卓好像是正常的,都有外面的白色正方形底,华为和荣耀的没有,感觉有点不太协调
Android 在 API Level 26 (Android 8.0) [O] 开始, 引入了 自适应图标 (Adaptive Icon) 新特性.
这个特性要求提供前景层 (通常为应用图标本身) 和背景层 (通常为纯色, 渐变色或简单的背景图), 然后以类似上图中 "坚果云" 应用图标的样子显现出来.
AutoJs6 没有遵循上述特性, 而且通过 AndroidManifest.xml 特别强调了 "请尽可能按照透明背景的方式来显示启动器图标", 因此才有上述截图中的图标样式.
事实上, AutoJs6 应该考虑遵循安卓上述特性, 如给出以下解决方案:
- 默认情况下使用自适应图标 (而非透明背景图标), 以遵循安卓新特性
- 在设置页面提供选项供用户选择:
- 自适应图标 [默认]
- 透明背景图标
你可以等待后续 AutoJs6 发布新版本解决上述问题 (但 AutoJs6 目前已 暂停更新, 重启日期未定), 也可以自己通过修改 AutoJs6 源码并重新打包并安装应用 (需留意签名冲突问题).
源码修改思路:
- 去除
AndroidManifest.xml中显式指定的icon属性 (如android:icon="@drawable/autojs6_material") - 使用 Android Studio 或 IntelliJ IDEA 自带的 Images Asset 功能, 创建自适应图标 (例如以
@drawable/autojs6_material为前景, 已#FFFFFF为背景) - 修改
build.gradle.kts中 Gradle Flavor 为 "app" 且键值为 "icon" 的 Manifest 占位符为自适应图标的资源名称 (如"@mipmap/ic_app_launcher_adaptive")