 <p>Alright, since I got no answers for this question, I'm going to post the solution that worked for me.</p> <p>Using Cordova’s hooks (<code>after_prepare</code>) I was able to copy the splash screen files from <code>/www</code> to the correct Android and iOS platform directories.</p> <p>The hook lives in <code>/hooks/after_prepare/030_resource_files.js</code> and it gets executed by Cordova right after the prepare step.</p> <p>This is what my code looked like at the end:</p> <pre><code>#!/usr/bin/env node // Reference: http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/ // // This hook copies various resource files from our version control system directories into the appropriate platform specific location // var appName = "MyAwesomeApp"; // configure all the files to copy. Key of object is the source file, value is the destination location. It's fine to put all platforms' icons and splash screen files here, even if we don't build for all platforms on each developer's box. var filestocopy = [{ "www/res/screens/android/drawable/splash.png": "platforms/android/res/drawable/splash.png" },{ "www/res/screens/android/drawable-hdpi/splash.png": "platforms/android/res/drawable-hdpi/splash.png" }, { "www/res/screens/android/drawable-ldpi/splash.png": "platforms/android/res/drawable-ldpi/splash.png" }, { "www/res/screens/android/drawable-mdpi/splash.png": "platforms/android/res/drawable-mdpi/splash.png" }, { "www/res/screens/android/drawable-xhdpi/splash.png": "platforms/android/res/drawable-xhdpi/splash.png" }, { "www/res/screens/ios/Resources/splash/Default@2x~iphone.png": "platforms/ios/" + appName + "/Resources/splash/Default@2x~iphone.png" }, { "www/res/screens/ios/Resources/splash/Default-568h@2x~iphone.png": "platforms/ios/" + appName + "/Resources/splash/Default-568h@2x~iphone.png" }, { "www/res/screens/ios/Resources/splash/Default~iphone.png": "platforms/ios/" + appName + "/Resources/splash/Default~iphone.png" }]; var fs = require('fs'); var path = require('path'); // no need to configure below var rootdir = process.argv[2]; filestocopy.forEach(function(obj) { Object.keys(obj).forEach(function(key) { var val = obj[key]; var srcfile = path.join(rootdir, key); var destfile = path.join(rootdir, val); //console.log("copying "+srcfile+" to "+destfile); var destdir = path.dirname(destfile); if (fs.existsSync(srcfile) &amp;&amp; fs.existsSync(destdir)) { fs.createReadStream(srcfile).pipe(fs.createWriteStream(destfile)); } }); }); </code></pre> <p>Still pretty difficult to get it working as there are a lot of pieces that have to fit together for it to work, but it was the hooks that helped me solve my problem.</p> <p>Source: The <em>Copy Icons and Splashscreens</em> section of an article by Holly Schinsky was incredibly helpful and where I took most of the code from: <a href="http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/" rel="nofollow">http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/</a></p>