cordova.js not foundというエラーでcordova.jsが見つからないという現象について

Published on:
Last updated:

This post is also available in: 日本語 (Japanese)

日本語環境でのエラーは「cordova.js が見つかりません」だと思います。
cordovaを使って開発していて、エミュレーターでは上手く動いていたのに実機デバイスでは真っ白な画面が表示されました。その原因としては「cordova.js not found」とは別の要素だったんですが、同じような事で悩んでいる方のために調べた内容をメモしています。

cordova.jsはどこにあるのか

通常、自分で書くのコードを置いている project/www フォルダ以下にはcordova.jsはありません
例えば、Android向けに開発している場合、cordova.jsが存在するのは以下のフォルダです。他のプラットフォーム向けに開発している場合には、project/platforms/ フォルダ以下に各プラットフォーム向けフォルダが存在していると思います。

project/platforms/android/assets/www/cordova.js

cordovaは複数プラットフォーム向け(Android/Windows/iOS)にコードを変換するフレームワークですので、各プラットフォーム向けに変換する際に project/platforms/ を元にしているらしいです。

従って、project/www/index.html での cordova.js の呼び出しは、単に以下のように書きます。

<script type="text/javascript" src="cordova.js"></script>

で余談として、かなり手抜きですが、なにが原因で実機デバイスでは動かないのか調べる簡単な方法として、 project/www/index.html を直接 GoogleChrome などのブラウザで開いて、開発者ツールのコンソールを見るという手っ取り早い方法があります。
(ただし、Cordovaではスマートフォン端末上でしか実行されないコードというのが一部あります。例えば、devicereadyとか。)

もしくは実機デバイスで何が起こっているか詳細な情報が知りたいという場合には、過去に書いた記事 実機のAndroid端末を使ってアプリをデバッグする方法 の "デバッグの状況をモニターしたい場合" の項目を参考にしてみてください。

About
Kuniyoshi Takemoto is the founder of Amelt.net LLC, and editor of this blog(www.amelt.net).Learn more and follow me on LinkedIn.