Jez D
Jez D

Reputation: 1489

error when creating android app with sencha

Using touch 2.2.1 and Cmd 3.1.2.342 I am trying to create an .apk file using the following command line:

sencha build native

I have also tried

sencha build native app

and

sencha android native build

as well as

sencha app build native

Unfortunately it is failing and returning this code

[ERR] null
     at com.sencha.util.Version.<init>(Version.java:36)
     at com.sencha.tools.pkg.Model$Package.<init>(Model.java:640)
     at com.sencha.tools.pkg.Model$Package.load(Model.java:627)
     at com.sencha.command.environment.WorkspaceRepository.scanPackages(Workspac eRepository.java:210)
     at com.sencha.command.environment.WorkspaceRepository.scanWorkspacePackages (WorkspaceRepository.java:184)
     at com.sencha.command.environment.WorkspaceRepository.getWorkspaceCatalog(W orkspaceRepository.java:228)
     at com.sencha.command.environment.WorkspaceRepository.getWorkspaceCatalog(W orkspaceRepository.java:223)
     at com.sencha.command.environment.WorkspaceRepository.getPackage(WorkspaceR epository.java:142)
     at com.sencha.command.environment.AppOrPackageEnvironment$1.matches(AppOrPa ckageEnvironment.java:87)
     at com.sencha.command.environment.AppOrPackageEnvironment$1.matches(AppOrPa ckageEnvironment.java:83)
     at com.sencha.util.CollectionUtil.filter(CollectionUtil.java:65)
     at com.sencha.util.CollectionUtil$MonadicList.filter(CollectionUtil.java:25 2)
     at com.sencha.command.environment.AppOrPackageEnvironment.getRequires(AppOr PackageEnvironment.java:83)
     at com.sencha.command.environment.AppOrPackageEnvironment.getRequiredPackag eEnvironments(AppOrPackageEnvironment.java:165)
     at com.sencha.command.environment.AppOrPackageEnvironment.getRequiredPackag esNoThemes(AppOrPackageEnvironment.java:212)
     at com.sencha.command.environment.AppOrPackageEnvironment.getRequiredPackag eNamesNoThemes(AppOrPackageEnvironment.java:203)
     at com.sencha.command.environment.AppEnvironment.<init>(AppEnvironment.java :66)
     at com.sencha.command.environment.BuildEnvironment.load(BuildEnvironment.ja va:193)
     at com.sencha.command.Sencha.loadBuildEnvironment(Sencha.java:374)
     at com.sencha.command.Sencha.main(Sencha.java:127)

My packager file packagerAndroid.json is in the package folder

I have used the following code in my app.json

"requires": [
        "packagerAndroid"
    ],

Can someone please tell me what caused the error

thanks

app.json:

{
/**
 * The application's namespace, used by Sencha Command to generate classes
 */
"name": "axis3",

/**
 * The file path to this application's front HTML document, relative to this app.json file
 */
"indexHtmlPath": "index.html",

/**
 * The absolute URL to this application in development environment, i.e: the URL to run this application
 * on your web browser during development, e.g: "http://localhost/myapp/index.html".
 *
 * This value is needed when build to resolve your application's dependencies if it requires server-side resources
 * that are not accessible via file system protocol.
 */
"url": 'http://sub.domain.net/folder/',

/**
 * List of all JavaScript assets in the right execution order.
 * Each item is an object with the following format:
 *      {
 *          "path": "path/to/script.js" // Path to file, if local file it must be relative to this app.json file
 *          "remote": true              // (Optional)
 *                                      // - Defaults to undefined (falsey) to signal a local file which will be copied
 *                                      // - Specify true if this file is a remote file which will not to be copied
 *          "update": "delta"           // (Optional)
 *                                      //  - If not specified, this file will only be loaded once, and
 *                                      //    cached inside localStorage until this value is changed.
 *                                      //  - "delta" to enable over-the-air delta update for this file
 *                                      //  - "full" means full update will be made when this file changes
 *          "x-bootstrap": true         // (Optional)
 *                                      // Indicates a development mode only dependency.  
 *                                      // These files will not be copied into the build directory or referenced
 *                                      // in the generate app.json manifest for the micro loader.
 *
 *      }
 */
"js": [

    {
        "path": "touch/sencha-touch-all.js",
        "x-bootstrap": true
    },

    {
        "path": "app.js",
        "bundle": true,  /* Indicates that all class dependencies are concatenated into this file when build */
        "update": "delta"
    },
    {
        "path": "touch/src/chart/theme/Base.js"},
    {
        "path": "touch/src/chart/series/Series.js"},
    {
        "path": "scripts/myscripts.js",
        "update": "delta"
    },
    {
        "path": "scripts/jquery.js",
        "update": "delta"
    }

],

/**
 * List of all CSS assets in the right inclusion order.
 * Each item is an object with the following format:
 *      {
 *          "path": "path/to/item.css" // Path to file, if local file it must be relative to this app.json file
 *          "remote": true             // (Optional)
 *                                     // - Defaults to undefined (falsey) to signal a local file which will be copied
 *                                     // - Specify true if this file is a remote file which will not to be copied
 *          "update": "delta"          // (Optional)
 *                                     //  - If not specified, this file will only be loaded once, and
 *                                     //    cached inside localStorage until this value is changed to either one below
 *                                     //  - "delta" to enable over-the-air delta update for this file
 *                                     //  - "full" means full update will be made when this file changes
 *
 *      }
 */
"css": [
    {
        "path": "resources/css/app.css",
        "update": "delta"
    },
     {
        "path": "resources/css/bespoke.css",
        "update": "delta"
    }
],

/**
 * Used to automatically generate cache.manifest (HTML 5 application cache manifest) file when you build
 */
"appCache": {
    /**
     * List of items in the CACHE MANIFEST section
     */
    "cache": [
        "index.html",
        "resources/css/bespoke.css",
        "resources/css/app.css",
        "scripts/myscripts.js",
        "app/view/Login.js",
        "app/view/LoginTablet.js",
        "app/view/LoginPhone.js",
        "app/view/Main.js",
        "app/controller/Login.js",
        "app/store/Companies.js",
        "app/profile/Desktop.js",
        "app/profile/Phone.js",
        "app/profile/Tablet.js",
        "app/model/Columns.js",
        "app/model/Companies.js",
        "app/model/Gauges.js",
        "app/model/loginModel.js",
        "touch/microloader/development.js"

    ],
    /**
     * List of items in the NETWORK section
     */
    "network": [
        "*"
    ],
    /**
     * List of items in the FALLBACK section
     */
    "fallback": []
},

/**
 * Extra resources to be copied along when build
 */
"resources": [
    "resources/images",
    "resources/icons",
    "resources/startup"
],

/**
 * File / directory name matchers to ignore when copying to the builds, must be valid regular expressions
 */
"ignore": [
    "\.svn$"
],

/**
 * Directory path to store all previous production builds. Note that the content generated inside this directory
 * must be kept intact for proper generation of deltas between updates
 */
"archivePath": "archive",

/**
 * List of package names to require for the cmd build process
 */
"requires": [
    "packagerAndroid"
],

/**
 * Uniquely generated id for this application, used as prefix for localStorage keys.
 * Normally you should never change this value.
 */
"id": "b24fcf41-b1dd-40aa-a83a-31e5e6488412"
}

And the packagerAndroid .json

{
    "applicationName": "Appname",
    "applicationId": "co.uk.domain.appname",
    "outputPath": "C:\\android\\apk",
    "versionString": "1.2",
    "versionCode": "12",
    "inputPath": "C:\\wamp\\www\\touch-2.2.1\\axis3",
    "icon": {
        "36": "resources/icons/Icon_Android36.png",
        "48": "resources/icons/Icon_Android48.png",
        "57": "resources/icons/Icon.png",
        "72": "resources/icons/Icon~ipad.png",
        "114": "resources/icons/[email protected]",
        "144": "resources/icons/[email protected]"
    },
    "configuration": "debug",
    "platform": "android",
    "certificatePath": "C:\\Program Files\\Java\\jdk1.7.0_21\\bin\\alias_name.keystore",
    "certificateAlias": "Android Developer",
    "certificatePassword": "password",
    "permissions": [
        "INTERNET",
        "ACCESS_NETWORK_STATE",
        "ACCESS_FINE_LOCATION",
        "ACCESS_COARSE_LOCATION",
        "CALL_PHONE"
    ],
    "sdkPath": "C:\\android\\sdk",
    "androidAPILevel": "8",
    "orientations": [
        "portrait",
        "portraitUpsideDown"
    ]
}

Interestingly, from the command line in my app folder, when I enter sencha I get the same error. Yet, I definitely have Sencha Cmd. It lives at appfolder/touch/cmd

Upvotes: 2

Views: 1677

Answers (2)

Darin Kolev
Darin Kolev

Reputation: 3411

The problem can occur if some required project files are missing, for example when the git submodules are not initialized or the ext source folder is missing. Be sure all required files are in your project folder.

Upvotes: 0

Reimius
Reimius

Reputation: 5712

Is your sencha command install directory under svn version control system? See this post on the sencha forum: http://www.sencha.com/forum/showthread.php?250217-Sencha-Cmd-does-not-work-when-.svn-directories-are-present

That post mentions the error you get and says it can be fixed by removing all the .svn directories.

Reading the post, I might also suggest just reinstalling Sencha command; as this issue is not directly related svn itself, but with the structure of Sencha command's install directory being tampered with. It's possible when you installed that something got messed up and the structure is no longer correct.

Upvotes: 5

Related Questions