1

aapt の --rename-manifest-package を使用して、env 固有のパッケージを生成します。

この質問を参照してください

製品のパッケージ名、私は使用します

com.xxx.app

uat env の場合、私は使用します

com.xxx.app.uat

phonegap を追加するまで問題なく動作します。codorva 2.2 を使用しています。以下のエラーが表示されます。

12-12 19:02:36.156: E/PluginManager(13188):     =====================================================================================
12-12 19:02:36.156: E/PluginManager(13188): ERROR: plugin.xml is missing.  Add       res/xml/plugins.xml to your project.
12-12 19:02:36.156: E/PluginManager(13188): https://git-wip-us.apache.org/repos/asf?     p=incubator-cordova-android.git;a=blob;f=framework/res/xml/plugins.xml  
12-12 19:02:36.156: E/PluginManager(13188): =====================================================================================

私は最終的に PluginManager の以下のコードにたどり着きました

int id = this.ctx.getActivity().getResources().getIdentifier("config", "xml", this.ctx.getActivity().getPackageName());
...
XmlResourceParser xml = this.ctx.getActivity().getResources().getXml(id);

ID は 0 です。これは、config.xml getActivity().getPackgeName() の参照に失敗したことを意味し、置き換えられたパッケージ名 - 「com.xxx.app.uat

.getResources().getIdentifer() が新しいパッケージに更新されていないようです... Androidのバグでしょうか?

私のテスト ケースでは、R.xml.config を使用すると、問題なく config.xml を参照しました。

問題は、Phonegap コードベースの一部である PluginsManager を変更できないことです...

4

1 に答える 1