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 を変更できないことです...