7.2.0 • Public • Published

Smartface CLI Tool

This Node.js CLI tool handles various tasks of the Smartface Framework, including the creating native iOS and Android projects from JavaScript code. You can use Ubuntu, Debian or Mac OSX to develop native mobile apps.



Java SE Development Kit

You need to install Java 1.8 JDK to eject for Android.

You can find more information from its download page.


You must install git.

It should also be visible from your shell environment.

You can check this through your command line.

For Mac OSX or Linux

git --version

If you installed Git but do not see it when you use the command above, you need to make sure that you set its Environment variable correctly.

Node.js and yarn

Node.js version 4.4.5 or greater is required for the current release.

We recommend

Nvm can be used to install and manage multiple versions of Node.js on Mac OSX and Linux environments.

You need to make sure you add . ~/.nvm/ to ~/.bashrc, ~/.profile, or ~/.zshrc file so that it would load when a terminal tab is opened. You can find more details from the link above.

You should also close and re-open the terminal after you installed nvm.

Npm is used to install dependencies, any recent installation that includes Node.js version 4.4.5 should be sufficient.

You can install 4.4.5 with nvm like this:

nvm install 4.4.5
npm install -g yarn

You can also set this version to be the default version

nvm alias default 4.4.5
which node

Something similar to ~/.nvm/versions/node/v4.4.5/bin/node should be displayed.

Smartface Installation

yarn global add smartface

"Sudo" Issue When Installing Smartface

In Linux and Unix systems, when installing global modules for Node.js, you may run into a problem where you may be asked to install with super user privileges by using the sudo command.

You can learn how to fix this issue from


This tool creates native Android/iOS projects from Smartface Cloud projects. The output is Android Stduio project for Android and Xcode project file for iOS.

You can get the help screen by executing the below command:

smfc -h

You will see the following screen:

  Smartface Command-Line Interface, version 5.2.13  
  Usage: smfc [options]
  Smartface Command-Line Interface
     -h, --help                         General Help
     -v, --version                      Print smfc's version.
     -i, --interactive                  Smartface Command-Line Interface in interactive mode
     --help=<options or tasks>          General help
     --task=<task>                      Task to execute
     --projectRoot=<root path>          Target project's root folder
     --path=<plugin project path>       Target plugin project's root folder
     --licenseFile=<license file path>  Your Smartface license file path
     --androidPlayer=<player arm apk>   Smartface Android Player zip
     --iosPlayer=<ios player>           Smartface iOS Player zip
     --logLevel=<level>                 Log Level
     --logFile=<file path>              Log to a specific file.
     --logStdOut=<status>               Log to console.
     --playerPath=<player path>         It denotes the path of the android plugin apk or iOS player file.

You can get detailed information about a CLI parameter by running smfc --help=<PARAMETER>.

On the other hand, you can run this command smfc --help=<TASK> to check what parameters are used in which the task.

For example, you can run

smfc --help=task

And you will see the following screen:

Smartface Command-Line Interface, version 6.15.2

Option: --task

  Task to execute




  Task to execute

Another example, you can run

smfc --help=export

And you will see the following screen:

  Smartface Command-Line Interface, version 6.15.2
  Task: export
    Export iOS and Android project
    task                 Task to execute
    licenseFile          Your Smartface license file path
    iosPlayer            Smartface iOS Player zip
    androidPlayer        Smartface Android Player zip
    logLevel             Log Level
    logFile              Log to a specific file.
    logStdOut            Log to console.
    projectRoot          Target project's root folder
    smfc --task=export:android,ios 
  Advanced Example: 
smfc --task=export:android,ios --projectRoot=./workspace
    You can export for iOS, Android. If you want most details, you can contact us.

More detailed information is provided in the below sections on how to use the CLI parameters.

Advanced Usage

The CLI tool can be called with numerous parameters to control its input.

Required Parameters

If you want to publish your project, you must use these arguments

  • task Task that will be run. Supported tasks are listed below.
    • publish
    • create_iOSPlugin
    • generate_iOSPluginZip
Example task
--task=$(TASK) , --task=export:Android,iOS

Optional parameters

You can use optional parameters.

  • projectRoot, path Your project root folder. You can also use relative paths.
Example projectRoot
--projectRoot=$(PROJECT_ROOT) , --projectRoot=../smfc-sample
  • licenseFile Your license file path
Example licenseFile
--licenseFile=$(LICENSE) , --licenseFile=/home/Smartface/license.xml
  • androidPlayer Smartface Player zip. You can set one of the players of Smartface.
Example androidPlayer
--androidPlayer=$(ANDROID_PLAYER) , --androidPlayer=/home/Smartface/
  • iosPlayer Smartface Player zip file for iOS. You can set one of the iOS-players of Smartface.
Example inputZip
--iosPlayer=$(IOS_PLAYER) , --iosPlayer=/home/Smartface/
  • logLevel Verbosity level of logging

    Available options are ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF

Example logLevel
--logLevel=$(LOG_LEVEL) , --logLevel=debug
  • logFile You can log to a specific file. Relative paths can be used.
Example logFile
--logFile=$(LOG_FILE) , --logFile=../smfc-sample/log/some.log
  • logStdOut You can display logs on the console.

    If logLevel is set to OFF, there will be no output on the console.

Example logStdOut
--logStdOut=$(LOG_STDOUT) , --logStdOut=true
  • playerPath It denotes the path of the android plugin apk or iOS player file.
Example playerPath

Example Usages


smfc --task=export:Android,iOS

smfc --task=export:Android,iOS --projectRoot=../smfc-sample  --logLevel=debug --logFile=../smfc-sample/log/ios.log --androidPlayer=./some/path/


smfc --task=create_iOSPlugin --path=../sample-plugin

smfc --task=create_iOSPlugin --path=../sample-plugin --playerPath=../../files/


smfc --task=generate_iOSPluginZip

smfc --task=generate_iOSPluginZip --path=../sample-plugin


only darwin platform

smfc --task=export:check_iOSConflict


smfc --task=checkProject --projectRoot=/home/ubuntu/workspace/workspace




Package Sidebar


Weekly Downloads






Unpacked Size

1.25 MB

Total Files


Last publish


  • sbasbug
  • erenkan
  • alnyli07