Application Configuration for Android Modules
Appcelerator modules updated for 22.214.171.124 contain two versions of the Android module, one for use with pre-126.96.36.199 SDKs and one for use with 188.8.131.52 or newer. In your tiapp.xml file, make sure that you specify the version of the module that corresponds to the version of Titanium Mobile SDK that you are targeting. For Appcelerator modules, specify the 1.X version of the module if building for versions of Titanium Mobile SDK prior to 184.108.40.206 and specify the 2.X version of the module if building for versions of Titanium Mobile SDK 220.127.116.11 or newer.
For non-Appcelerator modules, check the module documentation for the specific version required for your application.
Module Development Resources
If you are a module developer, you will need to update your module source code to build and run with release 18.104.22.168. As part of our internal effort to upgrade our modules we have compiled a list of specific changes that you may have to make to your source code. The Android Module Porting Guide for 22.214.171.124 is a resource to assist you in updating your source code.
Since not all of the application developers using your Android module will have upgraded to Titanium Mobile SDK 126.96.36.199, it will be necessary to maintain and distribute two versions of your module for a period of time. In distributing your module to application developers you have a couple of choices to consider:
- Distribute individual module zip files for Titanium Mobile SDK 188.8.131.52 and pre-184.108.40.206. In this scenario, you maintain separate distribution zip files for each version of Titanium Mobile SDK
- Distribute a single combined module zip file (Recommended). In this scenario, you will first need to assign a unique version number to each version of the module. For Appcelerator modules we decided to set the version number of our upgraded Android modules to 2.0 to indicate that the modules had been upgraded to module API version 2. Our Android modules built with module API version 1 will continue to utilize their 1.X version numbering scheme. After building both versions of the module you can combine the two zip files into a single zip file that contains the modules.
To distribute your module on the Appcelerator Marketplace you will need to create a single downloadable zip file for each product. The downloadable zip file should contain both versions of your Android module as well as the iOS version of your module (if applicable). The naming convention that we have adopted is module name-iphone-versions-android-versions.zip. For example, the file
contains the 1.5 iOS version and 1.5 Android version of the barcode module. However, with the combining of multiple Android versions in the zip file, the name may change to designate that multiple versions are contained in the file. For example, the updated barcode module is now
and contains the 1.5 iOS version, the 1.5 Android version, and the 2.0 Android version of the barcode module.
You can also use the following python script to assist with packaging your module:
To use this script, specify the target folder containing the distribution zip file, specify the source folder containing the various versions of your module zip file (should not be the same as the target), and specify the name of the module. For example,
./package.py dist release ti.paint
The script will enumerate the module zip files in the source folder and prompt you for inclusion in the target zip file and will automatically build up the name of the zip file utilizing the selected version numbers. Feel free to use or modify this script to suit your needs. Your combined zip file will be ready for uploading to the Appcelerator Marketplace.