Skip to content

configureAppIcon

从一张源图生成 Android 各密度 mipmap-* 应用图标。

前置依赖

参数名类型说明
deps.existsSyncFileSystem['existsSync']校验源图存在
deps.readFileSync / writeFileSync读写文件读源图、写各密度 PNG
deps.mkdirSyncFileSystem['mkdirSync']创建 mipmap 目录
deps.joinPath['join']路径拼接
deps.sharpSharp缩放 PNG
deps.BufferBufferConstructor二进制缓冲

环境要求

  • Node.js + sharp peer 依赖

函数签名

typescript
function configureAppIconAndroid(
  imagePath: string,
  projectPath: string,
  moduleDir: string,
  deps: ConfigureAppIconAndroidDeps,
): Promise<ConfigureAppIconAndroidResult>

参数

参数名类型必填说明
imagePathstring源图路径,建议 ≥512px 正方形 PNG
projectPathstringAndroid 工程根目录
moduleDirstring模块名,如 app
depsConfigureAppIconAndroidDepsfs / path / sharp

返回值

类型说明
ConfigureAppIconAndroidResult{ success, error?, logs[] }

成功时为 ldpi~xxxhdpi 共 6 档尺寸写入 res/mipmap-{density}/ic_launcher.png(以源码为准)。

工作原理

  1. 校验 imagePath 存在并读入 Buffer。
  2. ANDROID_ICON_SIZES 用 sharp 缩放为各密度尺寸。
  3. 写入 {projectPath}/{moduleDir}/src/main/res/mipmap-{density}/
  4. 失败返回 success: false 与 error,不抛异常。