I am happy to announce that SDK Tools v2.0.0-Beta2 has been released to address all reported issues with the previous version. Please note that this release is only meant to be used with Sencha Touch SDK v2.0.1-RC and later.
All fixes for Windows (both 32bit and 64bit) are in place.
Backwards compatibility support for old commands has been improved
Linux support is now available
More thorough help / warning messages were added
I. Upgrading both Sencha SDK Tools and Sencha Touch SDK
1. Uninstall SDK Tools v2.0.0-Beta if it exists by running the "uninstall" script inside the installation directory.
2. Download and install SDK Tools v2.0.0-Beta2 for your platform:
3. Download and extract Sencha Touch SDK v2.0.1-RC to a local directory.
4. Open a new command line terminal and change the current working directory to where the SDK was extracted in step 3. For example:
5. Verify that Sencha Command is working properly by running:
If the first line on the output is "Sencha Command v2.0.1" , you are all set. Follow the Sencha Command guide to generate and deploy your applications.
II. Upgrading existing applications
If you have existing applications that were previously generated using Sencha Command with Sencha Touch SDK 2.0.0-GA, following these steps to upgrade the application to SDK 2.0.1-RC:
1. Make sure your current working directory is the new SDK directory.
2. Run this command to upgrade your application.
sencha app upgrade /path/to/your_application
1. Command Not Found
Upon running 'sencha', if there is an error message appears saying "sencha: command not found" on OS X / Linux or "'sencha' is not recognized as an internal or external command,
operable program or batch file." on Windows, follow these steps to troubleshoot:
- Close all existing terminal / command prompt windows and re-open them.
- Make sure that Sencha SDK Tools is properly installed:
The installation directory exists. By default, the installation path is
on OS X
on Linux, and
The path to SDK Tools directory is prepended to your system's PATH environment variable. From the terminal, run
on Windows. The SDK Tools directory should be displayed in part of the output. If this is not the case, add it to your PATH manually.
The environment variable
is set, with the value being the absolute path to the installation directory mentioned above. For example: If the installed version is '2.0.0-beta2', a
must be set. From the terminal, run
on Windows. If the output is empty, set the environment variable manually.
2. Wrong Current Working Directory
A common mistake is not running Sencha Command within either a valid SDK directory or an application directory. If the current directory is not a SDK or application directory, "sencha" command will fallback to backwards-compatible mode. As of SDK Tools release "2.0.0-beta2", you should see a clear warning in such case:
The current working directory (...) is not a recognized Sencha SDK or application folder. Running in backwards compatible mode.
Note that a valid application directory is one that was generated by Sencha Command, or one that properly follows the structure described above.
3. Errors While Resolving Dependencies
When deploying the application using
sencha app build
command, by default your application is launched via file system protocol inside a headless WebView to extract its dependencies. In other words, your application needs to load without errors for the build process to work properly.
Always develop with the debugger console enabled (Web Inspector for Safari / Developer Tools for Chrome) and resolve all warnings / error messages as they appear. Whenever you see a warning like this:
[Ext.Loader] Synchronously loading 'Ext.foo.Bar'; consider adding 'Ext.foo.Bar' explicitly as a require of the corresponding class
Immediately add 'Ext.foo.Bar' inside the "requires" array property of the class from which the dependency originates. If it is a application-wide dependency, add it to the "requires" array property inside "Ext.application(...)" statement.
If your application relies on any dynamic server-side scripting, for example: loading class configuration from a PHP script, you must set the "url" item inside your application's "app.json" to the absolute URL from which your application can be loaded on a web browser. For example: