Cordova没有复制适当的图标和启动,使用默认设置,仅限Android

时间:2016-12-24 00:02:47

标签: android cordova

我的应用程序一直使用默认的cordova图标和启动画面。在挖掘时,应该发生的是我的所有icon / splash获取副本到platforms / android / res /。当我在那里看时,它只是默认的cordova。但是,在我的资源/ android /我所有自定义的那些都在那里。

适用于iOS的工作正常,对于Android来说并不合适。我正在运行Cordova CLI 6.4.0。 我将所有自定义图标和启动图像设置为正确的目录结构,并在平台添加或构建android

期间不会收到任何错误

下面是我的config.xml

<platform name="android">
    <allow-intent href="market:*" />
    <icon platform="android" src="resources/icon.png" />
    <icon platform="android" qualifier="ldpi" src="resources/icons/android/icon-36-ldpi.png" />
    <icon platform="android" qualifier="mdpi" src="resources/icons/android/icon-48-mdpi.png" />
    <icon platform="android" qualifier="hdpi" src="resources/icons/android/icon-72-hdpi.png" />
    <icon platform="android" qualifier="xhdpi" src="resources/icons/android/icon-96-xhdpi.png" />
    <icon platform="android" qualifier="xxhdpi" src="resources/icons/android/icon-144-xxhdpi.png" />
    <icon platform="android" qualifier="xxxhdpi" src="resources/icons/android/icon-192-xxxhdpi.png" />
    <splash platform="android" src="resources/splash.png" />
    <splash platform="android" qualifier="ldpi" src="resources/screens/android/screen-ldpi-portrait.png" />
    <splash platform="android" qualifier="mdpi" src="resources/screens/android/screen-mdpi-portrait.png" />
    <splash platform="android" qualifier="hdpi" src="resources/screens/android/screen-hdpi-portrait.png" />
    <splash platform="android" qualifier="xhdpi" src="resources/screens/android/screen-xhdpi-portrait.png" />
</platform>

<preference name="SplashScreen" value="screen"/>
<preference name="SplashScreenDelay" value="2000" />
<preference name="FadeSplashScreen" value="false" />
<preference name="FadeSplashScreenDuration" value="0" />
<preference name="SplashScreenBackgroundColor" value="0xFFFFFFFF" />
  1. 与iOS完全相同的精确设置,并且在那里完美运行
  2. 我已经对路径进行了三次检查,一切正确,我的自定义图标确实位于指定的位置,但在构建期间根本没有复制
  3. 我已多次尝试删除并添加android平台,然后构建,与cordova-plugin-splashscreen相同
  4. 图标和启动画面都无法在Android上运行
  5. 这是一个显示文件夹布局的屏幕截图,以及不幸的错误图像。 platforms/android resources/icons/android

    更新取得了一些进展,但并未完全实现。我在config.xml中用“density”替换了“qualifier”。现在它做了什么创建了一个正确的“res”文件夹,但它把它放在我的项目的根目录而不是平台/ android。它还创建了平台/ android / res,但其中的所有图像都是默认的Cordova图像。如果我在构建之前将新文件夹/ res(我的自定义图标)移动到/ platforms / android(默认的cordova图标),那么应用程序会显示我正确的内容。我想这是一个有效的解决方法但是令人讨厌的......并且要注意;我删除/ res文件夹但是cordova平台添加android构建它,似乎只是在错误的目录中创建它。

3 个答案:

答案 0 :(得分:6)

这是在版本6.1.0中解决的cordova-android中的一个问题。

建议的步骤是:

cordova platform update android@6.1.0 --save
cordova platform rm android
cordova platform add android

来源:https://github.com/apache/cordova-android/pull/343

答案 1 :(得分:3)

我有同样的问题,如果你找到解决方案请告诉我:)

修改

我解决了升级我的android版本

cordova平台更新android@6.1.0

答案 2 :(得分:1)

我之前和我有过这个问题,并找到了两种方法可以通过。

  • 升级Cordova平台:这是推荐的,我相信您升级到Cordova 6.4.x而不是您的平台,请尝试:TypeScript

OR

  • 降级Cordova CLI:有时候,prev步骤不起作用,所以你必须做一些不确定的事情,降级cordova工作cordova platform update android@latest(注意=&gt; CLI 6.3.1只是我相信的版本可以工作)