首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用sencha创建android应用程序时出错

使用sencha创建android应用程序时出错
EN

Stack Overflow用户
提问于 2013-08-30 05:31:29
回答 2查看 1.7K关注 0票数 2

使用touch 2.2.1和Cmd 3.1.2.342,我尝试使用以下命令行创建一个.apk文件:

代码语言:javascript
复制
sencha build native

我也试过

代码语言:javascript
复制
sencha build native app

代码语言:javascript
复制
sencha android native build

以及

代码语言:javascript
复制
sencha app build native

不幸的是,它失败了,并返回此代码。

代码语言:javascript
复制
[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)

我的packager文件packagerAndroid.json在package文件夹中

我在我的app.json中使用了以下代码

代码语言:javascript
复制
"requires": [
        "packagerAndroid"
    ],

有人能告诉我是什么原因造成了这个错误吗?

谢谢

app.json:

代码语言:javascript
复制
{
/**
 * 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"
}

和packagerAndroid .json

代码语言:javascript
复制
{
    "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/Icon@2x.png",
        "144": "resources/icons/Icon~ipad@2x.png"
    },
    "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"
    ]
}

有趣的是,在我的app文件夹中的命令行中,当我输入sencha时,我会得到相同的错误。不过,我肯定有森查·康德。它生活在app文件夹/touch/cmd中

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-11 13:49:55

您的sencha命令安装目录在svn版本控制系统下吗?请参阅sencha论坛上的这篇文章:http://www.sencha.com/forum/showthread.php?250217-Sencha-Cmd-does-not-work-when-.svn-directories-are-present

这篇文章提到了您得到的错误,并说可以通过删除所有.svn目录来修复它。

阅读文章时,我还可能建议只重新安装Sencha命令;因为这个问题与svn本身没有直接关系,而是与Sencha命令的安装目录的结构被篡改。这是可能的,当你安装时,有些东西搞砸了,结构不再正确。

票数 5
EN

Stack Overflow用户

发布于 2013-09-24 16:57:35

如果缺少一些必需的项目文件,例如当git子模块未初始化或ext源文件夹丢失时,可能会出现此问题。确保所有必需的文件都在项目文件夹中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18525640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档