2 Configuring Mobile Application Framework

This chapter provides information on setting up and configuring the Mobile Application Framework (MAF) environment for application development and deployment.

This chapter includes the following sections:

2.1 Introduction to the MAF Environment

Prepare the environment for application development by setting up Eclipse, platform-specific tools, and a mobile device.

Before developing a MAF application, you must set up your development environment by downloading, installing, and configuring various software components.

To set up a typical MAF development environment that consists of an IDE, mobile platform-specific tools, and, possibly, a mobile device, follow the steps described in Prerequisites for Developing MAF Applications.

For a complete list of supported versions of development and runtime tools, see Oracle Mobile Application Framework Certification Matrix by following the Certification Information link on the MAF documentation page at http://www.oracle.com/technetwork/developer-tools/maf/documentation/.

2.2 Prerequisites for Developing MAF Applications

To develop MAF applications for this version of MAF, you need to use the JDK8 JRE.

You need to specify JDK 8's JRE as the default JRE for OEPE, as described in How to Specify JDK 8's JRE as the Default in OEPE.

See the following sections for platform-specific prerequisites if you plan to target one or both of the following platforms:

You do not need to install any additional tools for creating specific types of MAF application content (HTML, remote URL, or MAF AMX).

2.2.1 What You Need to Develop an Application for the iOS Platform

A Mac computer, OEPE, Xcode and iOS SDK, JDK 1.8, credentials, and an iOS-powered device are needed for to develop applications for the iOS platform.

Before you start creating a MAF application for iOS, ensure that you have the following available:

Before you start deploying your application to a development environment (see Getting Started with Mobile Application Development in Developing Mobile Applications with Oracle Mobile Application Framework (OEPE Edition)), decide whether you would like to use a mobile device or its simulator: if you are to use a simulator, see How to Set Up an iPhone or iPad Simulator; if your goal is to deploy to a mobile device, ensure that, in addition to the components included in the preceding list, you have the following available:

  • Various login credentials. See Deploying Mobile Applications in Developing Mobile Applications with Oracle Mobile Application Framework (OEPE Edition).

  • iOS-powered device. See How to Set Up an iPhone or iPad.

2.2.2 What You Need to Develop an Application for the Android Platform

Besides a computer running an OS supported by MAF, you need OEPE, JDK 8, Android SDK with platform and build tools, credentials, and an Android-powered device to develop applications for the Android platform.

Before you start creating a MAF application for Android, ensure that you have the following available:

2.2.3 What You Need to Develop an Application for the Universal Windows Platform

A computer with x86 architecture running the Windows 10 operating system, JDK 8, Microsoft Visual Studio 2015, MSBuild 14.0, and OEPE are required to develop applications for Universal Windows Platform.

Before you start creating a MAF application for Universal Windows Platform, ensure that you have the following available:

For more information about setting up and configuring your development environment, see Setting Up Development Tools for the Universal Windows Platform.

2.3 Setting Up OEPE

Learn how to specify the JRE and configure OEPE to target the Mobile application platform.

Setting up OEPE to develop MAF applications requires you to:

2.3.1 How to Specify JDK 8's JRE as the Default in OEPE

OEPE requires that JDK 8 be specified as the default JRE for application development. Use the procedure to specify the JRE of JDK 8 as the default in OEPE.

You must specify the JRE packaged with JDK 8 as the default JRE in OEPE so that OEPE adds this JRE to the build path of newly-created MAF applications.

To specify JRE of JDK 8 as the default in OEPE:

  1. Select Window, and Preferences from the OEPE main menu to open the Preferences dialog.
  2. In the Preferences dialog, open the folder Java > Installed JREs from the tree to open a page that displays a list of installed JREs.
  3. If the JDK 8 JRE (for example, jdk1.8.0_25) is present, select the associated checkbox to make it the default.
  4. If the JDK 8 JRE is not present, do the following:
    • Click Add, select Standard VM in the dialog that appears and click Next.

    • In the Add JRE dialog that appears, click Directory to browse to your root JDK 8 directory and select it.

    • Click Finish.

  5. In the Installed JREs page of the Preferences dialog, verify that the JDK 8 JRE is the default selection, as shown in Figure 2-1.

    Figure 2-1 Default JRE Selection in OEPE Preferences

    Description of Figure 2-1 follows
    Description of "Figure 2-1 Default JRE Selection in OEPE Preferences"

2.3.2 How to Configure the Development Environment for Target Platforms

Before you start developing and deploying a MAF application, you may need to configure preferences for appropriate platforms.

2.3.2.1 Configuring the Environment for Target Platforms

OEPE must be provided with information to package and deploy an application to a target platform. Use the procedure to configure the environment for target platforms.

For successful packaging and deployment of your application to target platforms supported by MAF, OEPE must be provided with information such as the name of the platform and directories on your development computer that contain the platform-specific tools and data.

Before you begin:

Depending on your target platform, download and configure the appropriate software for your target platform:

To configure your environment for target platforms:

  1. Select Window > Preferences from the OEPE main menu to open the Preferences dialog.
  2. In the Preferences dialog, open the appropriate folder to access a page that contains the path and configuration parameters for the supported platforms:
    • Oracle > Mobile Application Framework > Android

    • Oracle > Mobile Application Framework > iOS

    • Oracle > Mobile Application Framework > Windows

    Each platform-specific page hosts the preferences for the platform SDK, collecting any necessary information such as the path that MAF needs to compile and deploy the projects:

2.4 Setting Up Development Tools for the iOS Platform

Set up an iPhone, iPad, or simulators to which MAF applications can be deployed.

In addition to general-purpose tools listed in Prerequisites for Developing MAF Applications, you might want to set up an iPhone or iPad when getting ready for development of a MAF application for the iOS platform (see How to Set Up an iPhone or iPad).

Since iPhone and iPad simulators are included in the iOS SDK installation, you do not need to separately install them. See How to Set Up an iPhone or iPad Simulator.

2.4.1 How to Install Xcode and iOS SDK

Download Xcode, which includes the iOS SDK, and run it at least once to ensure that builds and deployments proceed smoothly.

You download Xcode from http://developer.apple.com/xcode/. This download includes the iOS SDK.

After installing Xcode, you have to run it at least once and complete the Apple licensing and setup dialogs. If these steps are not performed, any build and deploy cycle from OEPE to Xcode or a device simulator fails with a "Return code 69" error.

Note:

Since older versions of Xcode are not available from the Mac App Store, in order to download them you must obtain an Apple ID from http://appleid.apple.com, and then register this Apple ID with the Apple Developer Program to gain access to the Apple developer site at http://developer.apple.com.

2.4.2 How to Set Up an iPhone or iPad

An iOS-powered device with a valid license, certificates, and distribution profile must be connected to your computer for deployment of an application to the device.

In your MAF application development and deployment, you can use either the iPhone, iPad, or their simulators (see How to Set Up an iPhone or iPad Simulator). If you are planning to use an actual iPhone or iPad, which is preferable for testing (see Testing MAF Applications in Developing Mobile Applications with Oracle Mobile Application Framework (OEPE Edition)), you need to connect it to your computer to establish a link between the two devices.

To deploy to an iOS-powered device, you need to have an iOS-powered device with a valid license, certificates, and distribution profiles. See Deploying Mobile Applications in Developing Mobile Applications with Oracle Mobile Application Framework (OEPE Edition).

Note:

Since Apple licensing terms and conditions may change, ensure that you understand them, comply with them, and stay up to date with any changes.

2.4.3 How to Set Up an iPhone or iPad Simulator

Configure the external network access to use iOS simulators included in XCode downloads for the deployment of MAF applications.

In your MAF application development and deployment, you can use either the iOS-powered device itself (see How to Set Up an iPhone or iPad) or its simulator. Deploying to a simulator is usually much faster than deploying to a device, and it also means that you do not have to sign the application first.

A simulator can be invoked automatically, without any additional setup.

Note:

Before attempting to deploy your application from OEPE to a device simulator, you must first run the simulator.

If you are planning to use web services in your application and you are behind a corporate firewall, you might need to configure the external network access. You do so by modifying the network settings in the System Preferences on your development computer. See Configuring the Browser Proxy Information in Developing Mobile Applications with Oracle Mobile Application Framework (OEPE Edition).

2.5 Setting Up Development Tools for the Android Platform

Install the Android SDK to deploy a MAF application to Android devices.

The Android SDK provides the tools that build and package your application into an .APK file (the file type that installs applications on Android devices), an emulator to create Android Virtual Devices (AVD) where you can test your application if you do not have access to a physical Android device, and an OEM USB driver to connect your development machine to a physical Android device through a USB cable if you do have a device. This last option enables you to deploy an application from your development machine to the Android device.

Android Studio, Google’s IDE for Android development, includes the Android SDK in its installation and provides wizard options that simplify the management of the SDK platforms and tools that you need.

Install Android Studio, and the Android SDK that it includes, by downloading the installation file from https://developer.android.com/studio/index.html. The Android Developer’s website provides installation instructions for Windows, Mac, and Linux. See https://developer.android.com/studio/install.html.

Once you have installed Android Studio, perform the tasks described in the following topics:

Tip:

Android Studio prompts you with wizards to create AVDs, install emulator accelerators, or install the OEM USB driver required to connect to a real device when you attempt to run an app that you create in Android Studio. Consider completing the tasks described in Building Your First App to create a native Android app up to the point where it describes how to run the app on a real device or an emulator. Upon completion of this task, you will have an environment (an AVD on the emulator or a real device) where you can deploy an Android native app. A MAF application is packaged in the same type of installation file (.APK) as the Android native app, so once you have successfully completed this task, you know that you have an environment ready to install a MAF application.

2.5.1 Install an Emulator Accelerator

You can accelerate the performance of the emulator that renders AVDs by installing an emulator accelerator.

Once installed, the emulator accelerator speeds up the performance of the emulator and the AVDs that it emulates by allocating additional resources from your development machine. You specify the amount during installation of the accelerator. Once installed, the accelerator appears in the SDK Tools list of the SDK Manager that you can launch from Android Studio, as shown in the following image. The Intel x86 Emulator Accelerator (HAXM) is one type of emulator accelerator that is available.

Figure 2-2 Install Emulator Accelerator

The surrounding image describes the text.

Make sure that the update site for the emulator accelerator that you want to download is selected in the SDK Update Sites tab shown in the previous image. Once downloaded, execute the installer. See https://developer.android.com/studio/run/emulator-acceleration.html#accel-vm.

2.5.2 Create an Android Virtual Device

An Android Virtual Device (AVD) replicates an Android device on your development computer. It is a useful option for testing, especially if you only have access to one or a limited range of physical Android devices.

The AVD Manager that you launch from Android Studio by clicking Tools, Android, and AVD Manager has a range of ready-to-use virtual devices, mostly of those devices developed by Google itself, such as the Nexus and Pixel XL range. Other Android device vendors, such as Samsung, provide specifications on their websites that you can use to create the AVD yourself.

Google maintains documentation describing how to manage AVDs. See https://developer.android.com/studio/run/managing-avds.html.

To create an AVD:

  1. In Android Studio, launch the Android Virtual Device Manager by selecting Tools > Android > AVD Manager.

  2. In the Your Virtual Devices screen, click Create Virtual Device.

  3. In the Select Hardware screen, select a phone device, such as Pixel, and then click Next.

  4. In the System Image screen, click Download for one of the recommended system images. Agree to the terms to complete the download.

  5. After the download completes, select the system image from the list and click Next.

  6. On the next screen, leave all the configuration settings unchanged and click Finish.

  7. In the Your Virtual Devices screen, select the device you just created and click Launch this AVD in the emulator.

2.5.3 Set Up Your Android Device to Install an App from Your Development Machine

You can install your app directly from your development machine to your Android device by configuring the Android device and connecting it to your development machine using a USB cable.

To set up your Android device:

  1. Connect your device to your development machine with a USB cable. If you are developing on Windows, you might need to install the appropriate USB driver for your device. For help installing drivers, see the OEM USB Drivers document.

  2. Enable USB debugging on your device by going to Settings > Developer options.

    Note:

    Developer options is hidden by default. To make it available, go to Settings > About phone and tap Build number seven times. Return to the previous screen to find Developer options.

2.6 Setting Up Development Tools for the Universal Windows Platform

Ensure that the development computer meets the installation requirements. Install the MAF extension and Visual Studio 2015, create and install the PFX file, and enable the Development Mode on the computer to set up a Windows 10 computer for application development.

To set up your development machine so that you can develop and deploy a MAF application to UWP:

2.6.1 How to Install Visual Studio

Install Visual Studio 2015 to access the Microsoft tools that are needed to build applications for deployment to Universal Windows Platform. Use the procedure to install Visual Studio.

You download and install Visual Studio from Microsoft Visual Studio web page, see https://www.visualstudio.com/products/vs-2015-product-editions. The Visual Studio download includes the Windows 10 SDK.

To install Visual Studio

  1. Download and install an edition of Visual Studio 2015.
  2. During the Visual Studio 2015 installation, make sure that you select Universal Windows App Development Tools and Windows 10 SDK, as shown in Figure 2-3.

    Figure 2-3 Installing Visual Studio

    Description of Figure 2-3 follows
    Description of "Figure 2-3 Installing Visual Studio"

For the following information, see Windows Software Development Kit (SDK) for Windows 10 at https://dev.windows.com/en-us/downloads/windows-10-sdk.

  • What's in the kit

  • New APIs

  • New and updated tools

  • System requirements

  • Instructions to install and uninstall

  • Known issues

2.6.2 How to Create a PFX File for MAF Applications

A Personal Information Exchange file is needed to sign Universal Windows Platform based MAF applications. Use the procedure to create a PFX file.

MAF applications based on UWP must be digitally signed before deployment. A PFX file is required to sign an application. A PFX file contains a public x509 certificate file (.cer) and a private key file (.pvk).

To create a PFX file:

  1. Open a Command Prompt window as Administrator.
  2. Navigate to the location: C:\Program Files (x86)\Windows Kits\10\bin\x64
  3. Run the following command, with variables you want, to create a Windows proprietary private key file (.pvk) and a X.509 certificate file (.cer):

    makecert.exe -sv c:\somedir\MyKey.pvk -n "CN=Your Name,OU=MAF,O=Oracle,C=US" -r -h 0 -eku "1.3.6.1.5.5.7.3.3,1.3.6.1.4.1.311.10.3.13" c:\somedir\MyKey.cer

    • The "-eku" (Enhanced Key Usage) flag value must not have spaces between the two comma delimited values. The 1.3.6.1.5.5.7.3.3 OID indicates that the certificate is valid for code signing. The 1.3.6.1.4.1.311.10.3.13 indicates that the certificate respects lifetime signing.

    • The "-r" flag creates a self-signed root certificate. This simplifies management of your test certificate.

    • The "-h 0" flag marks the basic constraint for the certificate as an end-entity. This constraint prevents the certificate from being used as a Certification Authority (CA) that can issue other certificates.

  4. In the Create Private Key Password window, enter a password and confirm it.
  5. In the Enter Private Key Password window that opens, enter the password that was created.

    Verify whether a .pvk and .cer file were created at the specified locations.

  6. Run the following command to convert the certificate and the private key files into a PFX file that can be used by Visual Studio.

    pvk2pfx.exe -pvk c:\somedir\MyKey.pvk -spc c:\someDir\MyKey.cer -pfx c:\someDir\MyPFX.pfx -pi welcome -po welcome

    • -pi: Specify this flag or value if you entered a password for the pvk file that you created. If the pvk file is password protected, and you do not specify the flag, pvk2pfx.exe will prompt you for the password.

    • -po: Specify this flag or value if you want to password-protect the .pfx file being created.

2.6.3 How to Install a PFX File on Windows 10

Every Personal Information Exchange file on a computer must be manually installed in a certificate store if you want to use it for application signing. Use the procedure to install a PFX file in a certificate store.

Copy or install.

An operating system keeps certificates in an area called a certificate store. A Software Publisher Certificate (SPC), with its private and public keys, is used for application signing. SPC is stored in a Personal Information Exchange (.pfx) file. A PFX file has to be copied or installed to a certificate store.

Note:

The installation has to be completed once, manually, for every PFX file on a given computer.

To install a PFX file in a certificate store:

  1. Locate and double-click the .pfx file to open the file in the Certificate Import Wizard.
  2. Select Current User as the Store Location, and then click Next.

    When you install the PFX file in the Local Machine store, the Windows User Access Control dialog is opened. Click Yes for Do you want to allow this app to make changes to your PC?

  3. Verify whether the name in the File name field is the one you want, and then click Next.
  4. Enter a password, if required.
  5. Select Included all extended properties, and then click Next.
  6. Select Place all certificates in the following store, and click Browse.
  7. In Select Certificate Store, select the certificate store that matches the store location, Personal for Current User, click OK, and then click Next.
  8. Complete the entries for the dialog.

    This procedure installs the PFX file in the Personal certificate store.

  9. Repeat the procedure for each of the combinations shown in rows 2 and 3 of the following table.
    Store Location Certificate Store

    Current User

    Personal

    Current User

    Trusted People

    Local Machine

    Trusted People

2.6.4 How to Enable Developer Mode on Windows 10

Enable Developer Mode on the Windows 10 computer so that you can side-load applications. Use the procedure to enable Developer Mode.

Enable Developer Mode to develop MAF applications on Windows 10.

If you want to develop and deploy MAF applications to the UWP you must enable Developer Mode on the Windows 10 computer that you use. Developer Mode is required for the following reasons:

  • Side-load, or install and run applications, from unofficial sources.

  • Run an application in debug mode.

To enable Developer Mode:

  1. Press the Windows key, search for Settings, and select Settings - Modern application from the displayed results.
  2. Select Update & Security, then For developers, and click Developer mode.

    Note:

    If you create an application in Visual Studio, the system prompts you with a dialog to enable Developer Mode.

2.7 Testing the Environment Setup

Select a sample application from the Samples folder of the MAF extension download, and deploy it either to an iOS-powered device simulator or an Android-powered device emulator to test the environment setup. Use the procedure to test the setup.

Before you begin, set the environment following the instructions in Configuring the Environment for Target Platforms.

You can test your environment setup as follows:

  1. In OEPE, open the HelloWorld sample application by selecting New > Example > MAF Examples, then click to select the HelloWorld example and click Finish.
  2. Select Run > Debug Configurations from the main menu.
  3. From the configuration pane at the left of the Debug Configurations dialog, select MAF Application and click New to create a new configuration. If you correctly set the environment, the dialog will show the correct target as shown in Figure 2-4.

    Sometimes Devices/Emulator is not listed in the configuration, and clicking Refresh still does not display it. In this case, you need to kill and restart it the adb daemon.

    To kill the process, use:

    • Windows: use the process manager

    • Mac terminal: use the kill -9 procID command

    Restart the adb daemon by executing the following command on a terminal:

    adb devices
    

    A deployment that succeeded before adb froze will still be deployed. To debug an application, redeploy it.

    Figure 2-4 Debug Configurations Dialog

    Description of Figure 2-4 follows
    Description of "Figure 2-4 Debug Configurations Dialog"
  4. Click Debug to deploy the application to the target platform. When the deployment is complete, you will see a BUILD SUCCESSFUL message in the Log Window.

    See the following sections in Developing Mobile Applications with Oracle Mobile Application Framework (OEPE Edition):

See Deploying MAF Applications in Developing Mobile Applications with Oracle Mobile Application Framework (OEPE Edition).

After a successful deployment (which might take a few minutes), your iOS-powered device simulator or Android-powered device emulator will display the HelloWorld application icon that you have to activate to launch the application.