This guide is intended for devs who have gone through get started or have knowledge of:
​TotalCross SDK;
​JDK installed.
You can do deploy to Android, iOS e Windows with Maven or by Command Line
Make sure your pom file has the build tag, dependencies tag, repositories tag and properties tag as shown below
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion>​<groupId>com.totalcross</groupId><artifactId>HelloWorld</artifactId><version>1.0-SNAPSHOT</version><name>HelloWorld</name>​<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><totalcross.activation_key>PLACE_YOUR_KEY</totalcross.activation_key></properties>​<dependencies><dependency><groupId>com.totalcross</groupId><artifactId>totalcross-sdk</artifactId><version>6.0.3</version></dependency></dependencies>​<repositories><repository><id>totalcross-repo</id><name>ip-172-31-40-140-releases</name><url>http://maven.totalcross.com/artifactory/repo1</url></repository></repositories>​<pluginRepositories><pluginRepository><id>totalcross-repo</id><name>ip-172-31-40-140-releases</name><url>http://maven.totalcross.com/artifactory/repo1</url></pluginRepository></pluginRepositories>​<build><finalName>${project.artifactId}</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin><plugin><groupId>com.totalcross</groupId><artifactId>totalcross-maven-plugin</artifactId><version>1.0</version><configuration><name>${project.name}</name><platforms><platform>-win32</platform><platform>-android</platform><platform>-ios</platform></platforms><activationKey>${totalcross.activation_key}</activationKey><!-- For version 4.4.2 and 5.1.4 or later, Apple certificates are no longer required. --><!-- <certificates>${totalcross.applecertificate}</certificates>--><!-- <totalcrossHome>/Users/italo/TotalCross5</totalcrossHome>--></configuration><executions><execution><id>post-package</id><phase>package</phase><goals><goal>package</goal></goals></execution></executions></plugin></plugins></build></project>
Inside the platfrom tag you can add the argument:
<platform>-win32</platform>
This platform is used to build for Windows;
<platform>-wince</platform>
This platform is used to build for Windows CE;
<platform>-winmo</platform>
This platform is used to build for Windows Mobile Only;
<platform>-linux</platform>
This platform is used to build for Linux x86 (Debian);
<platform>-linux_arm</platform>
This platform is used to build for Linux ARM;
<platform>-applet</platform>
Create the html file and a jar file with all dependencies
to run the app from a java-enabled browser (the input cannot be a jar file);
<platform>-ios</platform>
This platform is used to build for IOS;
<platform>-android</platform>
This platform is used to build for Android;
<platform>-all</platform>
Single parameter to deploy to all supported platforms;
<platform>/p</platfrom>
Package the VM with the application;
<platform>/r</platform>
Specify a registration key to be used to activate TotalCross when required;
<platform>/m</platform>
Specifies a path to the mobileprovision and certificate store to deploy an ipa file for iOS;
<platform>/a</platform>
Assigns the application id; can only be used for libraries or passing a .tcz file;
<platform>/autostart</platform>
automatically starts the application after a boot is completed. Currently works for Android only;
<platform>/c</platform>
Specify a command line to be passed to the application;
<platform>/i</platform>
Install the file after generating it; platforms is a list of comma-separated platforms. Supports: android. E.G.: /i android;
<platform>/k</platform>
Keep the .exe and other temporary files during wince generation;
<platform>/kn</platform>
As /k, but does not create the cab files for WinCE;
<platform>/n</platform>
Override the name of the tcz file with the given name;
<platform>/o</platform>
Override the output folder with the given path (defaults to the current folder);
<platform>/t</platform>
Just test the classes to see if there are any invalid references. Images are not converted, and nothing is written to disk;
<platform>/v</platform>
Verbose output for information messages;
<platform>/w</platform>
Waits for a key press if an error occurs;
<platform>/x</platform>
Comma-separated list of class names that must be excluded (in a starts-with manner). E.G.: "/x com/framework/".
To deploy your application you only need to use a maven execution template by passing the command:mvn package
To deploy by command line you need to be in the folder that contains the jar of your project and pass the parameters of tc.Deploy:
-win32
This argument is used to build for Windows;
-wince
This argument is used to build for Windows CE
-winmo
This argument is used to build for Windows Mobile Only;
-linux
This argument is used to build for Linux x86 (Debian);
-linux_arm
This platform is used to build for Linux ARM;
-applet
the html file and a jar file with all dependencies to run the app from a java-enabled browser (the input cannot be a jar file);
-ios
This argument is to build for iOS;
-android
This argument is to build for Android;
-all
Single parameter to deploy to all supported platforms;
/p
Package the VM with the application;
/r
Specify a registration key to be used to activate TotalCross when required;
/m
Specifies a path to the mobileprovision and certificate store to deploy an ipa file for iOS;
/a
Assigns the application id; can only be used for libraries or passing a .tcz file;
/autostart
automatically starts the application after a boot is completed. Currently works for Android only;
/c
Specify a command line to be passed to the application;
/i
install the file after generating it; platforms is a list of comma-separated platforms. Supports: android. E.G.: /i android;
/k
Keep the .exe and other temporary files during WinCE generation;
/kn
As /k, but does not create the cab files for WinCE;
/n
Override the name of the .tcz file with the given name;
/o
Override the output folder with the given path (defaults to the current folder);
/t
Just test the classes to see if there are any invalid references. Images are not converted, and nothing is written to disk;
/v
Verbose output for information messages;
/w
Waits for a key press if an error occurs;
/x
Comma-separated list of class names that must be excluded (in a starts-with manner). E.G.: "/x com/framework/".
java -cp "%TOTALCROSS3_HOME%"/dist/totalcross-sdk.jar tc.Deploy HelloTC.jar -android /p /r YOUR_TC_KEY_HERE
"%TOTALCROSS3_HOME%"
is the folder where the TC SDK
HelloTC.jar
is the .jar of project
After packaging your application the files will be in the project_folder\target\install\
Problems with WinCE? If your Operational System is not Windows or it is Windows and has not Cabwiz program, try to add/k
as first platform to in your pom.xml