Creating your First APK with the Cordova CLI - Part II

Diego Lizarazo Rivera

Sr. Developer Evangelist

In Part 1 of this intro to Apache Cordova series, we were able to see how front-end developers could use standard web technologies to create cross-platform mobile applications, and the prerequisites to install Cordova in your dev environment.

In this second part we are focused on creating your first application with Cordova, and how to publish your app in the Samsung Galaxy Store.

Creating the App

After installing Cordova, you should go to the file directory where you maintain your source code. There, you can create a Cordova project. This would be a simple Hello World project, but would give you an idea of the file structure of a Cordova project, and the different parts that you can modify to obtain the functionality you are looking for.

In your terminal or command interface type:

cd pathToYourProjects

After that:

cordova create CordovaProject com.example.hello CordovaApp

  • CordovaProject is the directory name where the app is created.
  • com.example.hello is the default reverse domain value (package name). You should use your own domain name if possible.
  • CordovaApp is the title of your app.

This creates the required directory structure for your Cordova app. By default, the Cordova create script generates a skeletal web-based application whose home page is the project's www/index.html file.

Adding Platform

Since Cordova works for multiple platforms, we have to add Android to the build settings. You need to open your project directory in the command prompt. In our example, it is the Cordova Project. You should only choose platforms that you need. To be able to use the specified platform, you need to have installed the specific platform SDK.

All subsequent commands need to be run within the project's directory, or any subdirectories:

cd CordovaProject

Add the Android platform, since this is the target of app, and ensure they get saved to config.xml and package.json:

cordova platform add android

You can also remove a platform from your project by using:

cordova platform rm android

To make certain you have added all the platforms you are targeting you can type:

cordova platform ls

This should list all the added platforms for your current project.

Checking the Install pre-requisites for building

To build and run apps, you need to install SDKs for each platform you wish to target. Alternatively, if you are using browser for development you can use browser platform which does not require any platform SDKs.

To check if you satisfy requirements for building the platform that you just added:

cordova requirements

This command should show you a result similar to this one:

Requirements check results for android:
Java JDK: installed .
Android SDK: installed
Android target: installed android-19,android-21,android-22,android-23,Google Inc.:Google APIs:19,Google Inc.:Google APIs (x86 System Image):19,Google Inc.:Google APIs:23
Gradle: installed

Building the App

This step builds the app for a specified platform so we can run it on mobile device or emulator.

cordova build

If you have added more than one platform to your project, you can limit the scope of each build to specific platforms. For our example we should add 'android':

cordova build android

Build for android platform in release mode and use the specified build configuration:

cordova build android --release --buildConfig=..\myBuildConfig.json

Testing the App

  • Using Cordova’s emulator

Now we can run our app. If you are using the default emulator you should use:

cordova emulate android

If you want to use the external emulator or real device you should use

cordova run android

Publishing your APK

To check in detail how to take your binary files and publish them in the Samsung Galaxy Store, check this in-depth video:

We love to chat with mobile game developers and help you as you develop, publish, and market your own games. Galaxy Store is a great place to publish your game and get discovered. If you are a mobile app developer and want to request a quick chat with us, just fill out this form.