4

我刚刚创建了一个基本的煎茶应用程序

sencha generate app --name AndroidDemo --path ../demo

我在浏览器中查看了它,一切都很完美。然后我按照这里的说明操作:http ://www.sencha.com/blog/android-setup-for-sencha-touch/

并用 Sencha Cmd 编译了应用程序,当模拟器打开时,我只得到一个蓝色的加载屏幕。

我还尝试在 phonegap 构建站点上使用 phonegap 编译/构建应用程序,构建成功完成,在我的 Android 设备中加载应用程序后,我再次只看到加载页面,它停留在此页面上并且应用程序无法启动。

我完全一无所知。需要你帮助的朋友。

谢谢,

在此处输入图像描述

4

3 回答 3

0

这通常发生在您构建版本并且没有嵌入所有需要的组件时。

例如,当您使用...

Ext.Image

...在您的代码中。

在没有...的情况下运行

Sencha app build xxx

... Sencha 将从 touch/src 组件文件夹中获取组件。

但是在您构建应用程序时,它不能再引用该文件夹,Sencha 将停止。

请打开控制台并注意如下警告:

[WARN][Anonymous] [Ext.Loader] Synchronously loading 'Ext.MessageBox';
consider adding 'Ext.MessageBox' explicitly as a require of the 
corresponding class

您需要将这些添加到 App.js 的 requires 部分或您使用该项目的类(此处为 Ext.Messagebox)。

找出正在发生的事情的另一种方法是在浏览器中运行构建代码并查看控制台(因此,您运行 localhost/myapp/build/{package}/{myapp}/index 而不是 localhost/myapp/index.html .html)。

还有一件事可能会发生。这是异步操作的范围。像这样:

 Ext.defer(function() {this.log(‘all good’);}, 500);

这不是你班级的范围。你需要使用:

Ext.defer(function() {this.log(‘all good’);}, 500, this);

或者你甚至可以使用...

Ext.bind()

...将范围绑定到函数。

于 2014-08-31T13:31:05.677 回答
0

我遇到了完全相同的问题..(目前在 Windows 上,顺便说一句)

虽然它不完全是一个解决方案,但我所做的一种解决方法(出于绝望地在模拟器上看到我的应用程序的其余部分):只是使用“adb”命令将其直接安装到模拟器。

没有在mac上试过这个,但我猜它几乎是一样的?

  1. 使用“sencha”cmd 构建应用程序后,打开 cmd/terminal 到构建目录。- 假设您没有更改输出位置,apk 将在您的项目根文件夹中创建在此文件夹下:
    “build\native-package-mobile\MYAPPNAME\packager.json\”

  2. 确保模拟器已经在运行

  3. 在 apk 所在文件夹的命令/终端中运行以下命令:

adb install -r MYAPPNAME.apk

  1. 稍等片刻,应该会说安装成功。在模拟器中运行应用程序,希望它会超出加载屏幕。

我不知道为什么会发生这个问题。(昨天才开始修补 android dev/sencha,它似乎正在尽其所能阻止我运行我的应用程序。哈哈)

如果您找到正确的解决方法,请分享:)

于 2013-12-15T05:15:05.447 回答
0

在您的应用程序代码中可能是矿工语法错误或其他错误,因此当应用程序在模拟器中运行时检查日志 cat或其他选项运行或应用程序在 chrome 中并检查控制台日志。因为加载屏幕会在出现错误时显示为我的表达方式。

于 2013-10-14T06:00:10.997 回答