如何在Android模拟器上运行sencha应用程序

时间:2012-06-07 10:57:36

标签: android android-emulator sencha-touch extjs sencha-touch-2

我在命令行中使用下面的sencha命令创建了一个app,如下所示

sencha app创建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"
    ]
}

然后我在secha命令行工具

上运行以下命令

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模拟器上运行这个应用程序,我在日食中创建了一个Android应用程序。

我真的很担心,因为我无法这样做......

我想知道如何将我的sencha应用程序添加到此android以在模拟器上运行它? 请让我知道,我一直试图解决这个问题。

请帮助并多多感谢

3 个答案:

答案 0 :(得分: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文件夹,样式文件夹,触摸文件夹以及其他必要的东西,比如css文件和app.js. / p>

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

7)如果确定,那么你可以在你的Android模拟器中运行应用程序,就像你为你的本机应用程序一样。 如果你想这样做,请点击此链接http://docs.sencha.com/touch/2-0/#!/video/native-apis-from-touch

答案 1 :(得分:0)

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

“AndroidEmulator”不起作用。

我在这个墙上两次撞到墙上了!

答案 2 :(得分:0)

可能是this link可以帮助你。

我已经在android模拟器中成功运行了我的sencha应用程序。