6

Phonegap エラー メッセージ (「Call to OpenGL ES api with no current context」は問題を引き起こしているようには見えません) をデバッグしようとしているときに、PhoneGap 1.6 に同梱されているより新しいバージョンの cordova.xml ファイルを見つけました。次の行があります。

<preference name="classicRender" value="true" />

この行を cordova.xml のコピーに追加ても何も起こりませんでした。しかし、その後、アクセス元に関するそのファイルのコメントやその他の行にも気付きました。アプリのアクセス元が 127.0.0.1 に設定されていることに気付きましたが、コードはすべてリモート サーバー上にあり、これは問題ではないようです。 .

ドキュメントを検索しましたが、何も見つかりませんでした。

だから私は尋ねなければなりません: cordova.xml ファイルは何のためにあり、どのディレクティブをそこに入れることができますか、そしてそれらは何をすることになっていますか?

4

1 に答える 1

15

cordova.xml ファイルは、ホワイトリストに登録された URL、ログ レベル、およびレンダリングの設定を指定する構成ファイルです。このファイルは以前は phonegap.xml と呼ばれていましたが、Adobe/Nitobiが培養のために PhoneGap コードベースを Apache Software Foundation (ASF) に寄贈したときに名前が変更されました。

このファイルには 3 つの設定が含まれています。

最初は:

<access origin>

これは、ロードできる URL の承認済みリストを指定します。これらの URL は、DroidGapクラスのホワイトリスト キャッシュに追加されます。ホワイトリストの URL のみを Cordova Web ビューまたは新しいブラウザー インスタンスにロードできます。

2番目は:

<log level> 

Android でデバッグするためのログ レベルを指定します。ERROR、WARN、INFO、DEBUG、または VERBOSE に設定できます (デフォルト = ERROR)。

3 つ目は次のとおりです。

<preference name="classicRender" />

フィールドを設定する

private boolean classicRender;

DroidGapクラスで。私が見つけることができる実際に何をするかについての唯一の参照は、Cordova へのこのコミットにあります。

   if(android.os.Build.VERSION.SDK_INT < 14 && this.classicRender)
     {
         //This hack fixes legacy PhoneGap apps
         //We should be using real pixels, not pretend pixels
   ...

おそらく、適切に機能しないため、削除されているように見えることを知っている方が便利です.

cordova.xml は、DroidGapクラスの loadConfiguration() メソッドで解析されます。

private void loadConfiguration() {
     int id = getResources().getIdentifier("cordova", "xml", getPackageName());
     ...
     XmlResourceParser xml = getResources().getXml(id);
     etc...

完全な loadConfiguration() メソッドについては、 DroidGapクラスの 1252 行を参照してください。3 つの属性はすべて解析されますが、上記のリンクによると、classicRender 設定が機能しないようで、無視できます。

于 2012-05-10T01:11:44.900 に答える