最近ラップトップがクラッシュし、それを修正した後、Windows ではなく Ubuntu に切り替えることにしました。関連するすべてのものをセットアップした後、コードバで Android アプリケーションの開発を続けることができます。Windows などの古いセットアップで正常に動作していたコードを実行できませんでした。
(注: コードを VM で実行するか、実際のデバイスで実行するかは問題ではありません)
問題は、javascript ファイルのコード スニペットにあります。
console.log("empty directory");
console.log(window.location);
console.log("location");
window.resolveLocalFileSystemURI(dirPath, function(fileEntry)
{
console.log("after resolveLocalFileSystem");
ここにエラーメッセージがあります。
01-03 16:03:46.805: I/Web Console(18647): empty directory at file:///android_asset /www/update/update.js:145
01-03 16:03:46.805: I/Web Console(18647): file:///android_asset/www/index.html at file:///android_asset/www/update/update.js:146
01-03 16:03:46.805: I/Web Console(18647): location at file:///android_asset/www/update/update.js:147
01-03 16:03:46.825: E/Web Console(18647): Uncaught TypeError: Object [object Object] has no method 'exec' at file:///android_asset/www/cordova-2.2.0.js:983
ご覧のとおり、window.resolve... の前のすべての console.log は正常に動作しますが、「resolveLocalFileSystem の後」のログはありません。キャッチされていない TypeError だけです。
983行目でこれを見つけました
var messages = nativeApiProvider.get().exec(service, action, callbackId, argsJson);
しかし、nativeApiProvider.get() は空なので、実際にはメソッド exec はありません。
インターネットでこの問題に関して文字通り何も見つけられず、何が原因なのかわからないため、今何をすべきか本当にわかりません。
助けてくれてありがとう!