Phonegap 3.0构建速度慢

3

我正在开发一个新的Phonegap 3应用程序。我觉得开发过程非常缓慢。每次我想测试应用程序中的更改时,我都必须在控制台中运行以下命令:

phonegap run android

这个命令需要大约30秒才能运行!有什么办法可以提高测试每个更改的时间?

2个回答

1
如果您正在使用Eclipse开发Android应用程序,可以使用Android手机,通过USB电缆将其连接到开发计算机,并从此处安装必要的驱动程序。在Windows中通常需要驱动程序,在Mac和Linux中通常不需要。设置完成后,只需在IDE中点击运行即可。

在Eclipse中,Android应用程序的部署速度非常快。我更准确地说是指PhoneGap环境(phonegap run android)。 - poiuytrez
你有解决这个问题吗?你的WWWwww文件夹里有多少个文件?我只是好奇,因为我的也很慢。 - Jamie Hutber
@JamieHutber 我在一个“Hello World”项目上也遇到了同样的问题。 - poiuytrez
原来我的 bower/node 文件和所有的原始文件都编译了。注意一下你设置文件夹的方式。 - Jamie Hutber

0
如果你有大量的文件(包含演示、未压缩的文件等),在应用程序上安装可能需要很长时间。
我创建了这个钩子(添加到 before_prepare),它只复制项目中“requirements.json”中指定的必要文件。
你需要运行 cd hooks/before_prepare && npm install ncp 来安装依赖项。

hooks/before_prepare/010copy_assets.js

#!/usr/bin/env node

console.log("=== Running copy required assets hook ===");

var fs = require('fs'),
    path = require('path');

var mkdirSync = function(path) {
    try {
        fs.mkdirSync(path);
    } catch (e) {
        if (e.code != 'EEXIST') throw e;
    }
}

var mkdirpSync = function(dirpath) {
    var parts = dirpath.split(path.sep);
    for (var i = 1; i <= parts.length; i++) {
        mkdirSync(path.join.apply(null, parts.slice(0, i)));
    }
}

try {
    var ncp = require('ncp').ncp

    var requirements = require('./../../myproject/requirements.json');

    ncp.limit = 200;
    ncp.stopOnErr = true;

    requirements.forEach(function(requirement) {

        var source = './myproject/' + requirement;
        var destination = './www/' + requirement;

        var folders = destination.split('/');
        folders.pop();

        mkdirpSync(path.normalize(folders.join('/')));

        ncp(source, destination, function(err) {
            if (err) {
                console.log('====== Error! Did not copy asset from ' + source + ' to ' + destination + ' ======');
                console.error(err);
                process.exit(1001);
            } else
                console.log('====== Copied asset from ' + source + ' to ' + destination + ' ======');
        });

    });

} catch (e) {
    console.error(e);
    console.error(e.stack);
    process.exit(1000);
}

示例 requirements.json

[
    "js",
    "css",
    "img",
    "index.html"
]

请注意,您可以直接将东西移动到构建的www目录(位于平台内),但它们在iOS和Android下的路径不同。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接