gpt4 book ai didi

android - Phonegap PluginManager 无法使用 --rename-manifest-package 加载 plugins/config.xml

转载 作者:行者123 更新时间:2023-11-30 03:53:01 34 4
gpt4 key购买 nike

我使用 aapt 的 --rename-manifest-package 来生成环境特定的包。

See this question

包名在产品中,我使用

com.xxx.app

对于 uat 环境,我使用

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...

最佳答案

我遇到过同样的错误,但我处理它的方式与 Rick Li 不同。应用程序首先尝试使用上下文的包名称加载资源,如果这不起作用(id 仍然为 0),应用程序会尝试从 Activity 的类包名称。

int id = this.ctx.getActivity().getResources().getIdentifier("config", "xml", this.ctx.getActivity().getPackageName());
if (id == 0) {
// could not find the resource id, maybe we are using the wrong package name ? (the package name could have been changed via aapt at build time).
id = this.ctx.getActivity().getResources().getIdentifier("config", "xml", this.ctx.getActivity().getClass().getPackage().getName());
if(id == 0){
this.pluginConfigurationMissing();
//We have the error, we need to exit without crashing!
return;
}
}

关于android - Phonegap PluginManager 无法使用 --rename-manifest-package 加载 plugins/config.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13839825/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com