Export your Intel® XDK Mobile App to PhoneGap* Build or Cordova* CLI

A version of this article was originally published as part of the Intel® XDK documentation book.

Additional help regarding the export process can be found in these Intel XDK forum posts:

And by reviewing this Google search of the Intel XDK forum.


When your Intel® XDK project was built by the Intel XDK cloud-based build system, it was converted to an Apache* Cordova* CLI project and then built as a standard Cordova CLI application in that cloud-based build system. With the retirement of the Intel XDK cloud-based build system, a Cordova Build Package tile was added to the Build tab so you can use Adobe* PhoneGap* Build or Cordova CLI to build your Intel XDK mobile app.

To build your Intel XDK project using PhoneGap Build or Cordova CLI you need a Cordova config.xml file. The Cordova Build Package ZIP file generated by the Intel XDK contains a config.xml file and can be submitted directly to PhoneGap Build, or quickly turned into a local Cordova CLI project. See the respective articles, titled Build Your Intel® XDK Mobile App using PhoneGap* Build and Build Your Intel® XDK Mobile App using Cordova* CLI, for details regarding building with these tools.

Two methods are described below on how to create a config.xml file. The first utilizes the built-in Cordova Build Package tile on the Build tab and the second uses an external Node.js* script named xdk-to-cli.

If you want the simplest build experience, or are not sure, you should Build using PhoneGap Build. This build process does not require installation of any software on your development system and performs the build in the cloud, like the retired Intel XDK build system. It has plugin limitations similar to the Intel XDK build system, specifically, plugins that utilize custom gradle scripts are not supported. This is the best place to start, if it does not serve your needs you can easily change to Cordova CLI.

For maximum control and flexibility over your build process you should Build using Cordova CLI. You will have access to the widest range of Cordova plugins. You must install Node.js, Cordova CLI and the requisite backend build tools (Android Studio, Xcode and Visual Studio) to perform your Cordova builds on your local development machine. Building for iOS requires access to a Mac (and Xcode) and building for Windows requires access to a Microsoft Windows machine (and Visual Studio).

Using the “Cordova Build Package” Export Tool

The process described below generates a ZIP file that contains a copy of your project’s source and asset files and an auto-generated config.xml file. That config.xml file contains the instructions needed by Adobe PhoneGap Build or Cordova CLI to build your mobile app package.

In the text below, PGB is shorthand for PhoneGap Build and CLI is shorthand for Cordova CLI.

The basic process is:

  • Projects tab: select the Intel XDK project to be built with PGB or CLI.
  • Projects tab: insure that all project Build Settings are correctly specified.
  • Build tab: click the Create Package button on the Cordova Build Package tile.
  • Build tab: save the ZIP file that is created to your local hard drive.
  • PGB: submit the ZIP file to PhoneGap Build using your PGB account.
  • CLI: extract the ZIP file and use Cordova CLI to build your app.

Create the Cordova Project ZIP File

Use the Cordova Build Package export tool on the Build tab to create the Cordova project ZIP file that you will submit to PhoneGap Build or use to build locally with Cordova CLI. The project settings in the Build Settings section of the Projects tab must be correctly set to create the project ZIP file.

NOTE: The "Developer Certificate" and "Provisioning File" fields in the Android and iOS Build Settings sections of the Projects tab are ignored and not required for this process. You can safely ignore any warnings generated by these fields.

A green checkmark icon next to a build target means you can successfully export your project Build Settings (see the middle target in the image below). An orange <!> icon next to a build target means some warnings will be generated during the export, but the export will succeed (see the top target in the image). A red <!> icon next to a specific build target lets you know that there are some Build Settings that require your attention (see the bottom target):

Hover over the red <!> icon for a link that will take you to the Build Settings on the Project tab. Once on the Project tab you may have to expand the Build Settings and select the specific build target tab in the Build Settings section to make the necessary corrections:

Packages exported for use with PhoneGap Build and Cordova CLI will ignore the “certificate fields” in the Build Settings section of the Projects tab. Your build certificates must be added manually to your PhoneGap Build account or your Cordova CLI project. Adding build certificates to your PhoneGap Build account or your Cordova CLI project is an operation that you must perform, the Intel XDK cannot do this for you.

You can disable a build target if you want to limit the build instructions in the config.xml file to specific targets (e.g., only Android* and iOS*). For example, if you have never built for Windows* you likely do not have any meaningful Build Settings configured for that build target, so you can simply “disable” that build target:

Finally, use the Create Package button to create a ZIP file that includes your app sources and a config.xml file for building with either PhoneGap Build or Cordova CLI:

What does the "warnings and error messages" note mean?

The gold "Warnings and error messages included in the config.xml file (inside the exported Cordova build package)" that appears after using the "Cordova Build Package" tool is a reminder that there may be additional messages inside the config.xml file that is created by this tool.

To read those messages:

  • unzip the exported Cordova build package file
  • open the config.xml file contained within that ZIP file using a text editor
  • review any comments that may have been added during export

If there are any warnings or errors they will most likely be either a warning or a recommendation regarding specific plugins found in your project. The gold "warnings and error message" generated by the export tool looks like this:

Cordova Build Package ZIP File Contents

The contents of the ZIP file that is generated by the Cordova Build Package export tool are your source and assets folders along with a config.xml file formatted for use with PhoneGap Build or Cordova CLI:

The www folder contains your application source files and is an identical copy of the www folder in your Intel XDK project folder. Likewise, the package-assets folder is an identical copy of the same-named folder in your Intel XDK project folder; it contains your app icons and splash screen images.

The config.xml file is a merge of your project’s Build Settings from the Projects tab and the intelxdk.config.additions.xml file (if any) located in the root of your Intel XDK project folder (similar to the various intelxdk.config.<target-platform>.xml files that are auto-generated).

Other folders and files may be present in the ZIP file, but they will be ignored by PhoneGap Build and Cordova CLI. Usually, any extra files and folders are just informational elements that were part of a sample or template project that was used to create your project.

If you are familiar with Cordova CLI projects, you will notice there are no plugins, platforms or hooks folders in the root of the exported project. This is by design; those folders are ignored by PhoneGap Build and will be auto-generated by Cordova CLI.

After you have successfully exported a Cordova Build Package you can build your app using either PhoneGap Build or Cordova CLI (or compatible build systems). See the articles titled Build Your Intel® XDK Mobile App using PhoneGap* Build and Build Your Intel® XDK Mobile App using Cordova* CLI for details.

Using the ‘xdk-to-cli’ Node.js Script

If you are unable to successfully create a ZIP file using the Cordova Build Package tile, or if you want more control over that process, you may need to use this xdk-to-cli Node.js script. Full instructions and requirements are provided in the script’s README file.

Using xdk-to-cli with PhoneGap Build

This script does not create a ZIP file, it creates three target- specific build configuration files. Those config files are written to the root folder of your Intel XDK project.

To create a ZIP file for submission to PhoneGap Build:

  • Create a config.xml file (see the script’s README) and save it to the root of your Intel XDK project folder.
  • ZIP the contents of the entire Intel XDK project folder and submit it to PhoneGap Build (PhoneGap Build will ignore the plugins folder in the ZIP file).

If the resulting ZIP file is too large for submission to PhoneGap Build, you can exclude the plugins folder (and any other extraneous folders and files) from the ZIP, to save space. The plugins folder is ignored because PhoneGap Build uses the <plugin> tags in your config.xml file to retrieve the plugins required by your application.

 Using xdk-to-cli with Cordova CLI

If you are going to use Cordova CLI to build your project, you will need to make a copy of the Intel XDK project folder (excluding the plugins folder) and then execute the necessary Cordova CLI commands to create a buildable Cordova CLI project. In general, it is not a good idea to use the existing plugins folder that is already present in the Intel XDK project because the Intel XDK internal pluginadd mechanism that creates that plugins folder short circuits the normal Cordova pluginadd operations, in order to provide support for all build platforms, regardless of your development OS. This short circuit mechanism that is used by the Intel XDK can interfere with a local Cordova CLI build.

For more details on how to continue to use the Intel XDK alongside a Cordova CLI build system, see the section named Integrating Cordova CLI with the Intel XDK in the article titled Build Your Intel® XDK Mobile App using Cordova* CLI.

For more complete information about compiler optimizations, see our Optimization Notice.