我正在尝试迁移到cordova-android-11(从10.1.2)。唯一的问题仍然是splashScreen。我知道我现在必须使用splashSCreen API。我尝试通过在android studio中创建一个新图标来实现这一点,如下所述:我随后将新创建的Icon(ic_launcher.xml)添加到我的cordova项目的resource文件夹中,并将此文件的路径作为首选项添加到config.xml中,如下所示:
然而,这给了我2个构建错误,因为ic_launcher. xml引用了前景和背景图像:
Cordova-Android项目中没有这些文件,即使我尝试将它们添加到我的资源中,它们也不会被复制到我的platforms/android文件夹中。
有人能告诉我哪些文件要添加到哪里,以及Cordova一般是如何处理这个新的splash-api的吗?我可以从android中找到很多关于如何创建新图标的文档。但我能找到的关于Cordova-android的所有文档都是将该首选项添加到config.xml中,但没有关于该文件应该包含什么内容的文档。它如何处理不同的像素密度?图标显示any-dpi,但在 cordova 是如何做到这一点的?
提前感谢,任何帮助在这里是非常感谢!
如何制作自适应图标:https://developer.android.com/studio/write/image-asset-studio#create-adaptive
相关SO问题:Cordova 11 - Splash Screen - what goes in splashscreen.xml
我认为这是不赞成的,但它可能有助于找到一个解决方案:https://www.mathew-paul.nz/posts/cordova-android-adaptive-icons/
(copy要发布git:https://github.com/apache/cordova-android/issues/1528)
以下是由Android Studio x1c 0d1x生成的文件
2条答案
按热度按时间tvz2xvvm1#
尝试在
res/android/icon
中添加您生成的xml文件yourfile.xml
,然后添加首选项dced5bon2#
经过一系列的试验和错误,我想我终于得到了它的工作方式,应该在所有设备上的工作。我错过了必要的步骤,是你必须把你的图标在一个大小为288 px的正方形背景,并有你的图标适合在192 px的圆圈在那里。
我错过的第二件事是为了创建正确的xml。你必须从一个.svg开始,创建一个Vector Asset,而不是Image Asset。这个.xml使用密度无关像素(dp 's),因此在所有设备上都应该一样工作。
TL;DR:
第一步:创建一个288 x288 px的svg。使用与加载图标的页面相同的背景色,并将您的徽标放在这个方块的中间。您的徽标需要适合192 px。如下图所示:
第2步:使用android studio创建一个.xml文件。要做到这一点,打开一个新的项目与'空活动'。右键单击res文件夹,转到新建-〉矢量资产。选择您的图像从第1步。通过向导应该会导致生成一个.xml文件。
步骤3:将此.xml文件添加到Cordova中的资源中,并在config.xml中链接到它,如下所示:
<preference name="AndroidWindowSplashScreenAnimatedIcon" value="path to yourIcon.xml" />
xml文件有dp,代表密度独立像素,由此我得出结论,它应该独立于屏幕大小和分辨率工作。
链接到Android文档中的闪屏页面(我从那里得到的图像):https://developer.android.com/develop/ui/views/launch/splash-screen