Phonegap Zip插件FileNotFoundException

时间:2014-07-03 17:36:30

标签: cordova zip phonegap-plugins phonegap-build

我使用Phonegap Build,使用这组插件:

<gap:plugin name="org.apache.cordova.file" version="1.0.1" />
<gap:plugin name="org.apache.cordova.file-transfer" version="0.4.2" />
<gap:plugin name="org.chromium.zip" version="1.0.0" />

我只想将持久目录中的文件解压缩到临时文件夹。由于它发出FileNotFoundException错误,我在解压缩之前添加了一个新行来创建该文件夹。虽然控制台日志显示最近创建的文件夹名称,但仍然会出现相同的错误。

以下是代码:

var relativeFilePath = "Mydir/myfile.zip";
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
    window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, function (fs){
        var entry=fs.root; 
        entry.getDirectory("Destination", {create: true, exclusive: false}, function(dir){
            console.log("Created dir "+dir.name); 
            zip.unzip(fileSystem.root.toURL() + relativeFilePath, fs.root.toURL() + 'Destination/', function(){
                alert("unzipped!");
            });
        },function(error){
              alert(error.code);
        });
     },function(err){
          alert(err.code);
     });
    },function(err){
         alert(err.code);
});

错误追溯:

07-03 11:42:32.039: E/Zip(12711): Doesn't exist
07-03 11:42:32.039: E/Zip(12711): An error occurred while unzipping.
07-03 11:42:32.039: E/Zip(12711): java.io.FileNotFoundException: File: "cdvfile://localhost/temporary/Destination/" not found
07-03 11:42:32.039: E/Zip(12711):   at org.apache.cordova.Zip.unzipSync(Zip.java:57)
07-03 11:42:32.039: E/Zip(12711):   at org.apache.cordova.Zip.access$000(Zip.java:19)
07-03 11:42:32.039: E/Zip(12711):   at org.apache.cordova.Zip$1.run(Zip.java:35)
07-03 11:42:32.039: E/Zip(12711):   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
07-03 11:42:32.039: E/Zip(12711):   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
07-03 11:42:32.039: E/Zip(12711):   at java.lang.Thread.run(Thread.java:841)

我可以使用this newer zip plugin从cordova的命令行开始工作。但我无法使用它,而此版本未包含在Phonegap Build plugin repository中。

我如何解决这个问题,甚至更好,是否可以在Phonegap Build中使用最后提到的插件?

非常感谢

1 个答案:

答案 0 :(得分:0)

new zip plugin可以与phonegap构建一起使用。这解决了这个问题。