Skip to content

Icons and splash screens generated from ionic resources ignored on Android #1608

@bilalakil

Description

@bilalakil

Short description of the problem:

Even in a freshly generated project, icon and splash screens generated from ionic resources are being ignored in Android, where the default Cordova images are instead used. This problem does not exist on iOS.

What behaviour are you expecting?

Icons and splash screens generated by ionic resources (which comes up with the Ionic logos if no other icon or splash screen is provided) to be used in the Android app.

Steps to reproduce:

ionic start x
cd x
ionic platform add android
ionic resources
ionic build android
ionic run android

Other information: (e.g. stacktraces, related issues, suggestions how to fix, stackoverflow links, forum links, etc)

The res directory created in the root of the project (following the ionic resources command) contains the expected Ionic logo images (which are created by the ionic resources command as an example) in the many different sizes required by Android.

The platform/android/res directory, however, contains all of the default Cordova images, which appear to be the ones actually being used.

platform/res/android/xml/config.xml perfectly matches the expected config.xml, so it is copying that across as expected, but not the generated images.

Which Ionic Version? 1.7.14

Run ionic info from terminal/cmd prompt: (paste output below)

Your system information:

Cordova CLI: 6.4.0
Gulp version:  CLI version 3.9.1
Gulp local:  
Ionic Version: 1.3.2
Ionic CLI Version: 1.7.14
Ionic App Lib Version: 0.7.0
ios-deploy version: 1.9.0 
ios-sim version: 5.0.10 
OS: Mac OS X El Capitan
Node Version: v6.6.0
Xcode version: Xcode 8.1 Build version 8B62 

Activity

bilalakil

bilalakil commented on Oct 31, 2016

@bilalakil
Author

Note that my current workaround to get it built with the icons is to simply move them into the correct position. I do that like so:

mv platforms/android/res/{values,xml} res
rm -rf platforms/android/res
cp -r res platforms/android
ionic build android

However I suspect if I generate a new set of icons or prepare the Android platform again, these steps would be reversed.

koenvanzuijlen

koenvanzuijlen commented on Oct 31, 2016

@koenvanzuijlen

I'm also having this exact problem, seems the res map isn't created in the correct location

camexapps

camexapps commented on Nov 1, 2016

@camexapps

Yes, having the same issue just after updating Ionic and Cordova NPM libraries.

Using Ionic 1.3.2 app

Cordova CLI: 6.4.0
Ionic Framework Version: 1.3.2
Ionic CLI Version: 2.1.4
Ionic App Lib Version: 2.1.2

Update:

Hmm, mine appears to be a bigger issue than that, none of my Plugins (using the Ionic Native library) are no longer loading/found (all is fine for iOS), installed/reinstalled all plugins/platforms etc, strange because I have managed to upgrade fine in the past..

Also to note:
Upgraded all Android SDK tools..
Uninstalled and Reinstalled Cordova/Ionic

will investigate further...

** Lastest Update **

So after the various CLI updates. It appears if I use an explicit older android cli platform:
cordova platform add android@5.2.2
Fixed the issues with plugins, icons ect, and runs fine.

I have noticed the 'res' folder was appearing (cordova 6) (with the correct iocns) in the root folder of my inital app files, NOT the platform generated folder

So, this should be considered a Cordova issue?

workfluo

workfluo commented on Nov 4, 2016

@workfluo

Hi folks,
I have this pb also. I think I know the reason (don't worry it has nothing to do with Illuminatis ;-).
The command "ionic resources" updates config.xml. The code written is partly bad code.
Instead of "density" inside:
It should be "qualifier" as here:
Then magically the build process creates the right folders and copy the right files for every screens.
So basically the CLI has to be patched (PLZ supa Ionic Team).
But for know let's house party: https://www.youtube.com/watch?v=tGJEe-yGLos

kodeine

kodeine commented on Nov 8, 2016

@kodeine

this issue started as soon i upgraded cordova to latest (6.4.0).

jonatastrafaniuc

jonatastrafaniuc commented on Nov 8, 2016

@jonatastrafaniuc

The same problem here with ionic 2 RC2.

alfonsojohan

alfonsojohan commented on Nov 8, 2016

@alfonsojohan

@workfluo thanks man, you solution solved this issue for me. was having this issue as well, my ionic info:

Cordova CLI: 6.3.1
Ionic Framework Version: 2.0.0-rc.1
Ionic CLI Version: 2.1.4
Ionic App Lib Version: 2.1.2
Ionic App Scripts Version: 0.0.39
OS:
Node Version: v6.9.1

EmreErdogan

EmreErdogan commented on Nov 9, 2016

@EmreErdogan

I had the same issue with the following system information:

Cordova CLI: 6.4.0
Gulp version: CLI version 3.9.1
Gulp local: Local version 3.9.1
Ionic Framework Version: 1.3.2
Ionic CLI Version: 2.0.0
Ionic App Lib Version: 2.0.0
ios-deploy version: 1.9.0
ios-sim version: 5.0.8
OS: Mac OS X El Capitan
Node Version: v4.4.4
Xcode version: Xcode 8.1 Build version 8B62

and my cordova-android version is 6.0.0

I tried the solutions above but none of them worked for me.

Finally I managed to make it work by downgrading Cordova CLI from 6.4.0 to 6.3.1 by running the following command:

npm install -g cordova@6.3.1

and removing & adding android platform then re-building for android:

ionic platform remove android
ionic platform add android
ionic run android

Note: In this solution, instead of qualifier I keep using density attribute in config.xml. For example, <icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/> or <splash src="resources/android/splash/drawable-port-xxxhdpi-screen.png" density="port-xxxhdpi"/>

workfluo

workfluo commented on Nov 9, 2016

@workfluo

If i try: ionic build android i get this:
Note: /Users/Workfluo/ionic-server/wad/platforms/android/src/org/apache/cordova/splashscreen/SplashScreen.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
What does it means?
I've got this , the latest version.

jonatastrafaniuc

jonatastrafaniuc commented on Nov 9, 2016

@jonatastrafaniuc

I will try this from ghenry22 in ionic-team/ionic-framework#9060:
"Upgrade to android platform 6.1.0 and this should be fixed, just updated my project, reran ionic resources and then build and all good."

workfluo

workfluo commented on Nov 9, 2016

@workfluo

I have this:
Cordova CLI: 6.4.0
Gulp version: CLI version 3.9.1
Gulp local:
Ionic Framework Version: 2.0.0-rc.2
Ionic CLI Version: 2.1.4
Ionic App Lib Version: 2.1.2
Ionic App Scripts Version: 0.0.39
And i use this for config settings:
+
BUT in APK the splash screens are named splash.
It depends probably on cordova or ionic cli version.
Whatever it's unstabil! A MESS!

workfluo

workfluo commented on Nov 9, 2016

@workfluo

I would highly recommend to open the .pkg file with an unzip tool in order to check IF in "res" folder you have any image for splash screens AND their name.

workfluo

workfluo commented on Nov 9, 2016

@workfluo

GET IT. GOTTCHA YOU BUGGY BUG!
My solution with a config like:
Cordova CLI: 6.4.0 + Ionic Framework Version: 2.0.0-rc.2 + Ionic CLI Version: 2.1.4;
is basically:
after the Command $ionic resource,
in config.xml for all the

REPLACE "density" by "qualifier"
AND
in
REPLACE value="screen" by value="splash"

pinindajin

pinindajin commented on Nov 10, 2016

@pinindajin

@camexapps , your solution to do cordova platform add android@5.2.2 worked. NOTE: This is for a cordova backbone app - thought i'd post here since this seems to be more a cordova issue than an ionic issue.

30 remaining items

PterPmnta

PterPmnta commented on Jan 16, 2017

@PterPmnta

@florentsuc What Node Version you have and SO?

PterPmnta

PterPmnta commented on Jan 16, 2017

@PterPmnta

@herkulano Sorry, i have a problem with tha Node 6.9.X, say sys is deprecated. Use util instead. I wanna to know this hide using Node 7.0 or above.

Your system information:

 ordova CLI: 6.3.1
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 10
Node Version: v5.12.0
Xcode version: Not installed
louisdoe

louisdoe commented on Jan 19, 2017

@louisdoe

I too have the issue.
I just did

cordova platform update android@6.1.0

because I was on android@6.0.0 and it seems it is the cause of the problem.

But then I go through a lot of errors on compilation, plugins errors like:

AdMobPlugin.java:37: error: package com.rjfun.cordova.ad does not exist

import com.rjfun.cordova.ad.GenericAdPlugin;

I tried ionic plugin rm and ionic plugin addall the plugins, but I still see these errors.

Can you help ?

@EmreErdogan solution doesn't seem to work.

ScreamZ

ScreamZ commented on Jan 19, 2017

@ScreamZ

Any support for cordova 6.4 is coming ?

Or should I use @workfluo strategy ?

vksgautam1

vksgautam1 commented on Jan 23, 2017

@vksgautam1

for cordova 6.4 this is working one
apache/cordova-android@854946e

mhartington

mhartington commented on Jan 26, 2017

@mhartington
Contributor

If you're splashscreens and icons are not getting used/copied, run

ionic platform rm android
ionic platform add android@latest --save

Android 6.0 (which cordova currently has pinned as the default version) had a bug with resources not being used.

jamesvsshark

jamesvsshark commented on Jan 30, 2017

@jamesvsshark

@mhartington who's better than you?

deepchandyadav

deepchandyadav commented on Feb 18, 2017

@deepchandyadav

@mhartington Upgrading to latest android worked for me.

frey1esm

frey1esm commented on May 19, 2017

@frey1esm

I got Error: cordovaProject.projectConfig.getFileResources after running

ionic platform rm android
ionic platform add android@latest --save
entymon

entymon commented on May 22, 2017

@entymon

Thanks a lot @florentsuc. I updated android platform to 6.1.3 but seems like only 6.1.0 works well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @herkulano@fonini@rhuanbarreto@clodo@vintage

        Issue actions

          Icons and splash screens generated from `ionic resources` ignored on Android · Issue #1608 · ionic-team/ionic-cli