2017-10-31 81 views
6

Mamy aplikację internetową zasilaną cordova do generowania aplikacji mobilnych. Wszystko działa na iOS.Aplikacja na Androida Cordova nie wyświetlająca ikony na ekranie głównym

Staramy się dodać platformę Android i wszystko działa dobrze oprócz ikon aplikacji.

config.xml przeważnie następuje co on the docs:

<widget 
    id="xxx" 
    version="xxx" 
    ios-CFBundleVersion="xxx" 
    xmlns="http://www.w3.org/ns/widgets" 
    xmlns:cdv="http://cordova.apache.org/ns/1.0" 
> 
    <name>xxx</name> 
    <description></description> 
    <author email="xxx" href="xxx">xxx</author> 
    <content src="index.html" /> 

    <engine name="ios" spec="~4.5.1" /> 
    <engine name="android" spec="~6.3.0" /> 

    <platform name="ios"> 
     <allow-intent href="itms:*" /> 
     <allow-intent href="itms-apps:*" /> 
     <preference name="BackupWebStorage" value="none" /> 
     <preference name="deployment-target" value="8.0" /> 
     <preference name="KeyboardDisplayRequiresUserAction" value="false" /> 
     <preference name="UIWebViewDecelerationSpeed" value="normal" /> 

     <icon src="resources/icons/Icon-Small.png" width="29" height="29" /> 
     <icon src="resources/icons/[email protected]" width="58" height="58" /> 
     <icon src="resources/icons/[email protected]" width="87" height="87" /> 
     <icon src="resources/icons/Icon-40.png" width="40" height="40" /> 
     <icon src="resources/icons/Icon-50.png" width="50" height="50" /> 
     <icon src="resources/icons/[email protected]" width="100" height="100" /> 
     <icon src="resources/icons/Icon.png" width="57" height="57" /> 
     <icon src="resources/icons/[email protected]" width="114" height="114" /> 
     <icon src="resources/icons/[email protected]" width="80" height="80" /> 
     <icon src="resources/icons/[email protected]" width="120" height="120" /> 
     <icon src="resources/icons/Icon-60.png" width="60" height="60" /> 
     <icon src="resources/icons/[email protected]" width="120" height="120" /> 
     <icon src="resources/icons/[email protected]" width="180" height="180" /> 
     <icon src="resources/icons/Icon-72.png" width="72" height="72" /> 
     <icon src="resources/icons/[email protected]" width="144" height="144" /> 
     <icon src="resources/icons/Icon-76.png" width="76" height="76" /> 
     <icon src="resources/icons/[email protected]" width="152" height="152" /> 
     <icon src="resources/icons/Icon-83.5.png" width="83.5" height="83.5" /> 
     <icon src="resources/icons/[email protected]" width="167" height="167" /> 
     <icon src="resources/icons/[email protected]" width="1024" height="1024" /> 

     <preference name="ShowSplashScreenSpinner" value="false"/> 

     <splash src="resources/splash/[email protected]~universal~anyany.png" width="2732" height="2732"/> 
    </platform> 

    <platform name="android"> 
     <allow-intent href="market:*" /> 

     <icon src="resources/icons/ldpi.png" density="ldpi" /> 
     <icon src="resources/icons/mdpi.png" density="mdpi" /> 
     <icon src="resources/icons/hdpi.png" density="hdpi" /> 
     <icon src="resources/icons/xhdpi.png" density="xhdpi" /> 
     <icon src="resources/icons/xxhdpi.png" density="xxhdpi" /> 
     <icon src="resources/icons/xxxhdpi.png" density="xxxhdpi" /> 

     <splash src="resources/splash/splash-land-hdpi.png" density="land-hdpi"/> 
     <splash src="resources/splash/splash-land-ldpi.png" density="land-ldpi"/> 
     <splash src="resources/splash/splash-land-mdpi.png" density="land-mdpi"/> 
     <splash src="resources/splash/splash-land-xhdpi.png" density="land-xhdpi"/> 
     <splash src="resources/splash/splash-port-hdpi.png" density="port-hdpi"/> 
     <splash src="resources/splash/splash-port-ldpi.png" density="port-ldpi"/> 
     <splash src="resources/splash/splash-port-mdpi.png" density="port-mdpi"/> 
     <splash src="resources/splash/splash-port-xhdpi.png" density="port-xhdpi"/> 

     <preference name="AndroidPersistentFileLocation" value="Compatibility" /> 
    </platform> 

    <plugin name="cordova-plugin-whitelist" spec="1" /> 
    <access origin="*" /> 
    <allow-intent href="http://*/*" /> 
    <allow-intent href="https://*/*" /> 
    <allow-navigation href="https://*/*" /> 
    <allow-intent href="mailto:*" /> 
    <allow-navigation href="mailto:*" /> 

    <universal-links> 
     <ios-team-id value="xxx" /> 
     <host name="$host" scheme="$scheme" event="universal-link-clicked"/> 
    </universal-links> 

    <plugin name="cordova-plugin-file-transfer" spec="~1.6.2" /> 
    <plugin name="cordova-plugin-file" spec="~4.3.3" /> 
    <plugin name="cordova-plugin-network-information" spec="~1.3.2" /> 
    <plugin name="cordova-plugin-statusbar" spec="~2.2.2" /> 
    <plugin name="cordova-plugin-background-fetch" spec="https://github.com/christocracy/cordova-plugin-background-fetch.git" /> 
    <plugin name="cordova-plugin-inappbrowser" spec="~1.7.0" /> 
    <plugin name="cordova-plugin-disable-bitcode" spec="~1.3.2" /> 
    <plugin name="com.batch.cordova" spec="https://github.com/floo51/cordova-plugin.git" /> 
    <plugin name="cordova-plugin-splashscreen" spec="~4.0.2" /> 
    <plugin name="cordova-plugin-ios-non-exempt-encryption" spec="~1.0.0" /> 
    <plugin name="cordova-universal-links-plugin" spec="~1.2.1" /> 
</widget> 

Istnieją różne typy ikon:

  • plik APK ikona (prace)
  • Instalacja ekranu (prace)
  • menu Aplikacje (nie działa)
  • H ome ekran (nie działa) enter image description here

  • Runnings aplikacje (nie działa) enter image description here

Najbardziej dziwne jest to, że działa na symulatorze (Nexus 5), ale nie na OnePlus Jeden lub Moto G4.

Używamy cordova 6.5. Wszystkie ikony są zmieniane zgodnie z what's on the docs. Czy coś nam umknęło?

+0

Dobrze ikona działa, ale jego jednej domyślnej, która wskazuje, że coś jest nie tak albo z Twój folder 'resources' lub twój folder' platforms'. Powinieneś sprawdzić, czy folder 'resources' zawiera każdy rozmiar twojej ikony i naprawić problemy, które zwykle czytałeś na platformie android po usunięciu folderu' platforms', uruchamiając 'cordova platform add android @ latest'. Powinieneś również rozważyć aktualizację z Cordova 6.5 do najnowszej. – David

Odpowiedz

2

polecam dwie rzeczy:

1) Wykorzystanie qualifier zamiast density. Przykład:

<icon src="resources/icons/ldpi.png" qualifier="ldpi" /> 

2) Dodaj domyślna ikona & powitalny jako awaryjnej w folderze głównym projektu:

<icon src="icon.png" /> 
<splash src="splash.png" /> 
+2

Wow! "kwalifikator" faktycznie rozwiązuje problem ... Będzie potrzebował aktualizacji dokumentacji. Dzięki ! –