-
Notifications
You must be signed in to change notification settings - Fork 674
Description
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 commentedon Oct 31, 2016
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:
However I suspect if I generate a new set of icons or prepare the Android platform again, these steps would be reversed.
koenvanzuijlen commentedon Oct 31, 2016
I'm also having this exact problem, seems the res map isn't created in the correct location
camexapps commentedon Nov 1, 2016
Yes, having the same issue just after updating Ionic and Cordova NPM libraries.
Using Ionic 1.3.2 app
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 commentedon Nov 4, 2016
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 commentedon Nov 8, 2016
this issue started as soon i upgraded cordova to latest (6.4.0).
jonatastrafaniuc commentedon Nov 8, 2016
The same problem here with ionic 2 RC2.
alfonsojohan commentedon Nov 8, 2016
@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 commentedon Nov 9, 2016
I had the same issue with the following system information:
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:
Note: In this solution, instead of
qualifier
I keep usingdensity
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 commentedon Nov 9, 2016
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 commentedon Nov 9, 2016
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 commentedon Nov 9, 2016
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 commentedon Nov 9, 2016
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 commentedon Nov 9, 2016
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 commentedon Nov 10, 2016
@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 commentedon Jan 16, 2017
@florentsuc What Node Version you have and SO?
PterPmnta commentedon Jan 16, 2017
@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.louisdoe commentedon Jan 19, 2017
I too have the issue.
I just did
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:
I tried
ionic plugin rm
andionic plugin add
all the plugins, but I still see these errors.Can you help ?
@EmreErdogan solution doesn't seem to work.
ScreamZ commentedon Jan 19, 2017
Any support for cordova 6.4 is coming ?
Or should I use @workfluo strategy ?
vksgautam1 commentedon Jan 23, 2017
for cordova 6.4 this is working one
apache/cordova-android@854946e
mhartington commentedon Jan 26, 2017
If you're splashscreens and icons are not getting used/copied, run
Android 6.0 (which cordova currently has pinned as the default version) had a bug with resources not being used.
jamesvsshark commentedon Jan 30, 2017
@mhartington who's better than you?
Use latest cordova android to fix icon/splash bug
deepchandyadav commentedon Feb 18, 2017
@mhartington Upgrading to latest android worked for me.
drawable-*
files copied to wrongres
directory (icons and splashscreens) mway-io/generator-m-ionic#473frey1esm commentedon May 19, 2017
I got
Error: cordovaProject.projectConfig.getFileResources
after runningentymon commentedon May 22, 2017
Thanks a lot @florentsuc. I updated android platform to 6.1.3 but seems like only 6.1.0 works well.
fixed icons according ionic-team/ionic-cli#1608 (comment)