PhoneGapのconfig.xmlとcordova.xml

androidなんてHelloWorld程度しか知りませんが、なんとなくPhoneGapをやってみました。

で、ドキュメントのドメインホワイトリストガイドには

ホワイトリストのルールは res/xml/cordova.xml で見つけることができ、 要素によって宣言できます。

って書いてあるんだけど実際 res/xml/ には config.xml というそれっぽいファイルがある。何でだろうと思ったんでちょっとソースを見てみたらconfig.xmlが無ければcordova.xmlを見るようだ。

https://github.com/apache/incubator-cordova-android/blob/master/framework/src/org/apache/cordova/CordovaWebView.java

        int id = getResources().getIdentifier("config", "xml", this.cordova.getActivity().getPackageName());
        if(id == 0)
        {
            id = getResources().getIdentifier("cordova", "xml", this.cordova.getActivity().getPackageName());
            Log.i("CordovaLog", "config.xml missing, reverting to cordova.xml");
        }
        if (id == 0) {
            LOG.i("CordovaLog", "cordova.xml missing. Ignoring...");
            return;
        }

ざっくり見てもそこそこ面白い。JavaScriptとの連携はloadUrl("javascript:...")みたいにやっているっぽい。