Expo Android自适应图标未出现

Posted

技术标签:

【中文标题】Expo Android自适应图标未出现【英文标题】:Expo Android Adaptive Icon Not Appearing 【发布时间】:2020-12-20 21:38:24 【问题描述】:

我正在将 Expo 与我的 React Native 应用程序一起使用,并且已经到了构建应用程序并将其部署到 Play 商店的地步。但是,我在 app.json 文件中设置 android 自适应图标(前景/背景)字段时遇到问题。我按照 Expo 文档 https://docs.expo.io/guides/app-icons/ 进行操作,但应用程序图标只是被一个白色圆圈包围。


  "name": "ChowTime",
  "displayName": "ChowTime",
  "expo": 
    "name": "ChowTime",
    "slug": "ChowTime",
    "version": "3.0.0",
    "icon":"./assets/icon.png",
    "android": 
      "package": "com.yourcompany.chowtime",
      "versionCode": 2,
      "icon": "./assets/icon.png",
      "adaptiveIcon":  
        "foregroundImage": "./assets/icon.png",
        "backgroundColor": "#000000" 
      
    ,
    "splash": 
      "image": "./assets/splashScreen.png",
      "resizeMode": "cover"
    ,
    "platforms": ["ios", "android", "web"],
    "assetBundlePatterns": ["**/*"]
  

This is an image of the icon, it seems to ignore android.adaptiveIcon settings and reflects the expo.icon image

【问题讨论】:

【参考方案1】:

在重新构建之前,您可能需要清理守望者、地铁和世博会缓存。 清理 node_modules 在这里可能是不必要的,但清理整个房子没有坏处!

如果使用纱线:

watchman watch-del-all
rm -rf /tmp/metro-*
rm -rf node_modules/ && yarn && expo r -c

或者对于 npm:

watchman watch-del-all
rm -rf /tmp/metro-*
rm -rf node_modules/ && npm i && expo r -c

更新:

Expo 开发环境似乎覆盖了某些特定于平台的 app.json 设置。尝试使用expo build:android -t apk (https://docs.expo.io/distribution/building-standalone-apps/#if-you-choose-to-build-for-android) 看看新版本是否有预期的图标!

【讨论】:

这并没有解决问题。我不认为它的缓存相关,因为如果我删除 expo.icon 字段或将其更改为不同的图标并重新构建更改会反映出来 啊哈好吧,我最近遇到了一个问题,即除非创建独立构建,否则 app.json(特定于平台的)设置不会被覆盖。尝试使用expo build:android -t apk (docs.expo.io/distribution/building-standalone-apps/…) 看看新版本是否有预期的图标! 有这方面的消息吗? app bundle 和 apk 在独立构建中没有图标。 IOS 有。

以上是关于Expo Android自适应图标未出现的主要内容,如果未能解决你的问题,请参考以下文章

Honor View 10手机上的android自适应启动器图标太大

Android O 新特性介绍:自适应图标(Adaptive Icons)

Android Studio 3.3 不允许 SDK 版本低于 26 的自适应图标

曲线的自适应(未完成)

自适应支付 IPN 交易 ID 未出现

自适应页面中如何使用雪碧图