Application Packaging

Application Packaging

Sharing Application Packages | Application Package Format

Application packaging of the Commerce Applications in the Commerce Applications SDK is started by selecting the command Verifone/Export to.
Terminal Commerce application packagesare in the .zip -format. Android Commerce applications in the .apk format.
 
Note! It is not possible to submit stanbdard Android .apk files to be published in the Marketplace. One must first convert those applications into the Commerce Applications package format. See detailed instructions here.



One needs to choose between Test Package creation for the test device, Developer Kit, and Production Package that can be uploaded to the Developer Central to be published in the Marketplace. 
In the subsequent window, define a location where you want to save the application package.
Note! If the SDK offers JSON and INI package options, the INI option is used only in the UK pilot program. If you are not delivering apps for this pilot, use the JSON option.



Note! If there already exists an application package with the same name in the target location, select the ‘Overwrite’ option to prevent associated warnings

While exporting production packages one will next be asked to select the profile that will be used to create the application package. You’ll be asked to enter the publisher profile password. Click on 'Finish' to initiate app package creation.
The SDK always includes a test profile by default; it’s used to create Commerce Application packages for the test terminal. By using test profiles, Commerce Application packages are signed with non-production keys, and can be installed only into a test terminal. 

Note! On Carbon family test devices one can install Android application .apk -files without test signing them.
Note! If your Terminal Commerce application uses external connections, you must whitelist those connections before you can successfully run your application in a test terminal, see Application Whitelisting and Submission for more info. Whitelistiung is not needed for the Android Commerce applications.
Note!  Production packages signed with the Publisher Certificate cannot be installed into a test terminal. Only test packages can be installed into a test terminal.


Sharing Application Packages


After your application package has been exported with the SDK, it can be shared. Exported application packages can be imported into the SDK by using the ‘Import Verifone Commerce Project’ functionality in the Commerce Applications SDK start view. Simply select the application package file you’d like to import and click on ‘Finish’.

Note! Do not make any changes to the app package exported from the SDK. Keep the exported app package as it is for submission.

 

 

Application Package Format


Terminal Commerce Applications package typically consist of following files:



Android application .apk file typically consists of following files:
APK Standard Package Structure
  • META-INF directory: MANIFEST.MF, CERT.RSA and CERT.SF
  • lib directory: contains the compiled code that is specific to a software layer of a processor.
  • res directory: contains the resources not compiled into resources.arsc.
  • assets directory: contains applications assets, which can be retrieved by AssetManager.
  • AndroidManifest.xml file: The standard Android manifest, describing the name, version, access rights, referenced library files for the application.
  • classes.dex file: The classes compiled in the dex file format understandable by the Dalvik virtual machine
  • resources.arsc file: Contains precompiled resources.
In addition to the standard Androdi application .apk files to install Android apps on Verifone devices one must include follwoing files into the application .apk file
  • confSchema.json
  • [appid].mft  
These files are added into the .apk file of a standard Android app .apk file when the application is imported into the Commerce Applicatiosn SDK as a Verifone porject, see more details here

lib directory: contains the compiled code that is specific to a software layer of a processor.
res directory: contains the resources not compiled into resources.arsc.
assets directory: contains applications assets, which can be retrieved by AssetManager.
AndroidManifest.xml file: The standard Android manifest, describing the name, version, access rights, referenced library files for the application...
classes.dex file: The classes compiled in the dex file format understandable by the Dalvik virtual machine.
resources.arsc file: Contains precompiled resources

Developers are working with two main application package types: 
  • Application packages that can be installed on a test terminal, referred to as 'test packages'
  • Application packages that can be uploaded to the Developer Central to be published in the App Market, referred to as 'production packages' 
The Commerce Application SDK supports creation of both these application packages. 
Third application package type is the application packages available in the Marketplace. These applications have been signed with the Verifone approval certificate and the manifest file certificate. Applications can be installed only to the production devices merchants operate. Application installation via the Terminal Management system like Verifone Estate Owner portal.

Application packages to be published in the App Market must be signed with the Publisher key. Application packages to be side loaded on a test terminal do not require use of the Publisher key. Any developer using the Commerce Applications SDK can package applications for side loading onto test terminals. These test packages are automatically signed by the Commerce Application SDK by using the test package certificates included in the SDK itself.