我尝试使用Sencha Touch为Android创建一个简单的应用,其中app.js
看起来像这样
Ext.application({
name: 'CameraApp2',
requires: [
'Ext.device.Camera'
],
views: [
'Main'
],
launch: function() {
Ext.Viewport.add(Ext.create('CameraApp2.view.Main'));
}
});
main.js
看起来像
Ext.define('CameraApp2.view.MyPanel', {
extend: 'Ext.Panel',
requires: [
'Ext.Button',
'Ext.Img'
],
config: {
items: [
{
xtype: 'button',
handler: function(button, e) {
Ext.device.Camera.capture({
source: 'camera',
destination: 'file',
success: function(url) {
var img = Ext.getCmp("Image");
img.setSrc(url);
}
});
},
text: 'Take photo'
},
{
xtype: 'image',
id: 'Image',
}
]
}
});
config.xml
看起来像
<?xml version='1.0' encoding='utf-8'?>
<widget id="<company>.cameraapp2" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>CameraApp2</name>
<description>A simple demo app to show camera-pictures</description>
<author email="dev@cordova.apache.org" href="http://cordova.io">
the87boy
</author>
<content src="index.html" />
<feature name="Camera" />
<access origin="*" />
</widget>
我添加<feature name="Camera">
以确定,这不是问题。当然,我已经用<company-name>
替换了公司。
问题是,应用程序无法启动并且只是继续加载,但它在网页上显示正常。
我试图在app.js
中添加一个加载器,但它不起作用
我还尝试使用cordova plugin add org.apache.cordova.camera
为Cordova添加插件。
有什么不对?
我在三星Galaxy Tab S上使用Sencha CMD版本5.0.1.231,Sencha Touch版本2.4.0,Cordova 3.5.0和Android 4
修改
我还试过在三星Galaxy Tab S上使用另一个应用程序(没有设备交互),它可以工作
答案 0 :(得分:1)
很难判断这是否是代码中的Sencha构建问题,这似乎很好。有时,根据您的构建过程,如果您使用的是sencha app构建包或生产,Sencha的内置缩小和连接会混乱并导致JavaScript错误。如果您使用的是build native命令,我相信这会做同样的事情。
Chrome仅针对此类问题提供了一个漂亮的调试功能。您应该能够使用Chrome的远程设备检查远程检查应用程序并使用控制台进行调试。
可能需要亚行和适当的司机。
铬://检查/#设备
这是一个有用的资源。
https://developer.chrome.com/devtools/docs/remote-debugging
值得注意的是,如果您使用Android的发布密钥对应用程序进行了签名,则无法使用。它必须是一个调试apk。