0

我在命令行中使用以下 Sencha 命令创建了一个应用程序,如下所示

sencha app create mysenchaApp /path/to/www/mysenchaApp

这给了我如下

Code:

[INFO] Created file C:\path\to\www\mysenchaapp\.senchasdk
[INFO] Created file C:\path\to\www\mysenchaapp\index.html
[INFO] Created file C:\path\to\www\mysenchaapp\app.js
[INFO] Created file C:\path\to\www\mysenchaapp\packager.json
[INFO] Created file C:\path\to\www\mysenchaapp\app.json
[INFO] Created file C:\path\to\www\mysenchaapp\app\view\Main.js
[INFO] Copied dir: C:\path\to\www\mysenchaapp\sdk\src
[INFO] Copied dir: C:\path\to\www\mysenchaapp\sdk\resources
[INFO] Copied dir: C:\path\to\www\mysenchaapp\resources\icons
[INFO] Copied dir: C:\path\to\www\mysenchaapp\resources\loading
[INFO] Copied dir: C:\path\to\www\mysenchaapp\sdk\command
[INFO] Copied file: C:\path\to\www\mysenchaapp\sdk\microloader\development.js
[INFO] Copied file: C:\path\to\www\mysenchaapp\sdk\microloader\testing.js
[INFO] Copied file: C:\path\to\www\mysenchaapp\sdk\microloader\production.js
[INFO] Copied file: C:\path\to\www\mysenchaapp\sdk\version.txt
[INFO] Copied file: C:\path\to\www\mysenchaapp\sdk\sencha-touch.js
[INFO] Copied file: C:\path\to\www\mysenchaapp\sdk\sencha-touch-all.js
[INFO] Created file C:\path\to\www\mysenchaapp\resources\sass\app.scss
[INFO] Created file C:\path\to\www\mysenchaapp\resources\sass\config.rb
[INFO] Copied file: C:\path\to\www\mysenchaapp\resources\css\app.css

然后我修改了 packager.json 文件,使其在模拟器上运行:

Code:

/**
     * @cfg {String} applicationName
     * @required
     * This is the name of your application, which is displayed on the  device when the app is installed. On IOS, this should match
     * the name of your application in the Apple Provisioning Portal.
     */
    "applicationName":"My Application",

    /**
     * @cfg {String} applicationId
     * This is the name namespace for your application. On IOS, this  should match the name of your application in the Apple Provisioning  Portal.
     */
    "applicationId":"com.mycompany.myAppID",

    /**
     * @cfg {String} versionString
     * @required
     * This is the version of your application.
     */
    "versionString":"1.0",

    /**
     * @cfg {String} iconName
     * This is file name of your icon. This should be in the same directory of this configuration file.
     *
     * For iOS, please refer to their documentation about icon sizes:
     * https://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/IconsImages/IconsImages.html
     *
     * For Android, please refer to the Google Launcher icons guide:
     * http://developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html
     */
    "iconName":"resources/icons/Icon~ipad.png",

    /**
     * @cfg {String} inputPath
     * @required
     * This is location of your Sencha Touch 2 application, relative to this configuration file.
     */
    "inputPath":"build/native",

    /**
     * @cfg {String} outputPath
     * @required
     * This is where the built application file with be saved.
     */
    "outputPath":"build/",

    /**
     * @cfg {String} configuration
     * @required
     * This is configuration for your application. `Debug` should always be used unless you are submitting your app to an online
     * store - in which case `Release` should be specified.
     */
    "configuration":"Debug",

    /**
     * @cfg {String} platform
     * @required
     * This is the platform where you will be running your application. Available options are:
     *  - iOSSimulator
     *  - iOS
     *  - Android
     *  - AndroidEmulator
     */
    "platform":"AndroidEmulator",

    /**
     * @cfg {String} deviceType
     * @required
     * This is device type that your application will be running on.
     *
     * If you are developing for Android, this is not necessary.
     *
     * Available options are:
     *  - iPhone
     *  - iPad
     *  - Universal
     */
    "deviceType":"Universal",

    /**
     * @cfg {String} certificatePath
     * This is the location of your certificate.
     * This is required when you are developing for Android or you are developing on Windows.
     */
    "certificatePath":"/path/to/certificate.file",

    /**
     * @cfg {String} certificateAlias
     * This is the name of your certificate.
     *
     * IF you do not specify this on OSX, we will try and automatically find the certificate for you using the applicationId.
     *
     * This can be just a simple matcher. For example, if your  certificate name is "iPhone Developer: Robert Dougan (ABCDEFGHIJ)", you
     * can just put "iPhone Developer".
     *
     * When using a certificatePath on Windows, you do not need to specify this.
     */
    "certificateAlias":"",

    /**
     * @cfg {String} sdkPath
     * This is the path to the Android SDK, if you are developing an Android application.
     */
    "sdkPath":"C:\Program Files\Android\android-sdk",

    /**
     * @cfg  androidAPILevel
     * This is android API level, the version of Android SDK to use, you  can read more about it here:  http://developer.android.com/guide/appendix/api-levels.html.
     * Be sure to install corresponding platform API in android SDK manager (android_sdk/tools/android)
     */
    "androidAPILevel":"8",

    /**
     * @cfg  orientations
     * @required
     * This is orientations that this application can run.
     */
    "orientations": [
        "portrait",
        "landscapeLeft",
        "landscapeRight",
        "portraitUpsideDown"
    ]
}

然后我在 Sencha 命令行工具上运行以下命令

sencha app build native

Code:

C:\path\to\www\mysenchaapp>sencha app build native
[INFO] Deploying your application to C:\path\to\www\mysenchaapp\build\package
[INFO] Copied sdk/sencha-touch.js
[INFO] Copied app.js
[INFO] Copied resources/css/app.css
[INFO] Copied resources/images
[INFO] Copied resources/icons
[INFO] Copied resources/loading
[INFO] Resolving your application dependencies...
[INFO] Found 139 dependencies. Concatenating all into app.js...
[INFO] Processed sdk/sencha-touch.js
[INFO] Minifying sdk/sencha-touch.js
[INFO] Processed app.js
[INFO] Minifying app.js
[INFO] Minifying resources/css/app.css
[INFO] Minified sdk/sencha-touch.js
[INFO] Minified app.js
[INFO] Minified resources/css/app.css
[INFO] Generated app.json
[INFO] Embedded microloader into index.html
[INFO] Packaging your application as a native app...

C:\path\to\www\mysenchaapp

现在我正在尝试在 android 模拟器上运行这个应用程序,我在 Eclipse 中创建了一个 Android 应用程序。我不能这样做。

我想知道如何将我的 Sencha 应用程序添加到这个 Android 以在模拟器上运行它?

4

2 回答 2

2

仅当您想在 Eclipse 中的 android 模拟器中运行 sencha 应用程序并且您对电话间隙没有异议时,我的回答才是正确的。

如果您使用 eclipse 创建原生 android 应用程序,那么在您的 android 模拟器中运行 sencha 应用程序非常简单。

我可以向你展示一些简单的步骤。

1)我建议您使用 MDS 鼓掌电话间隙http://wiki.phonegap.com/w/page/34483744/PhoneGap%20Eclipse%20PlugIn%20for%20Android 来安装 phonegap,因为您可能随时需要它。

2)一旦您完成安装,您将在顶部看到电话间隙图标。

3)点击它来创建一个最小的电话间隙项目。

4)然后你会看到索引文件没有必要的东西。你可以替换索引文件如下

        <!DOCTYPE html>
       <html>
        <head>
        <title>The Sencha Touch List Component</title>
       <link rel="stylesheet" href="app.css" type="text/css">

       <script type="text/javascript" src="touch/sencha-touch-all.js"></script>
       <script type="text/javascript" charset="utf-8">
       Ext.Loader.setConfig({
       enabled: true,
       paths: { 'Ext': 'touch/src' }
       });
      </script>
     <script type="text/javascript" src="app.js"></script>
      </head>
      <body></body>
      </html>

5)然后在 assets 文件夹中,您可以创建创建 sencha 应用程序所需的文件夹。如 app 文件夹、styles 文件夹、touch 文件夹和其他必要的东西,如 css 文件和 app.js。

6)你可以检查配置是否正确,只需在eclipse中检查web浏览器中的index.html文件即可。

7)如果没问题,那么你可以在你的安卓模拟器中运行应用程序,就像你为你的原生应用程序做的那样。如果您想按照自己的方式进行操作,请点击此链接http://docs.sencha.com/touch/2-0/#!/video/native-apis-from-touch

于 2012-06-07T14:01:28.823 回答
0

在 packager.json 中将您的平台更改为“Android”。

“AndroidEmulator”不起作用。

我在这个上两次用头撞墙!

于 2012-06-07T20:14:42.923 回答