use*_*436 19 android android-manifest cordova cordova-plugins
我决定打开一个新问题,因为那些已发布的问题都没有,答案很好.
我需要从plugin.xml更新AndroidManifest.xml ,以便 <application>标签具有以下属性,以及它已有的属性:
android:name="mypackage"
Run Code Online (Sandbox Code Playgroud)
怎么办?
谢谢
nde*_*rge 15
我有同样的问题,我使用Cordova钩子来完成这项工作.
首先,编辑您的config.xml文件以添加钩子:
<platform name="android">
<hook type="after_prepare" src="scripts/android_app_name.js" />
</platform>
Run Code Online (Sandbox Code Playgroud)
创建一个名为scripts/android_app_name.js(设置可执行文件)的文件,在里面,只需使用搜索/替换功能.它应该看起来像:
#!/usr/bin/env node
module.exports = function(context) {
var fs = context.requireCordovaModule('fs'),
path = context.requireCordovaModule('path');
var platformRoot = path.join(context.opts.projectRoot, 'platforms/android');
var manifestFile = path.join(platformRoot, 'AndroidManifest.xml');
if (fs.existsSync(manifestFile)) {
fs.readFile(manifestFile, 'utf8', function (err,data) {
if (err) {
throw new Error('Unable to find AndroidManifest.xml: ' + err);
}
var appClass = 'YOU_APP_CLASS';
if (data.indexOf(appClass) == -1) {
var result = data.replace(/<application/g, '<application android:name="' + appClass + '"');
fs.writeFile(manifestFile, result, 'utf8', function (err) {
if (err) throw new Error('Unable to write into AndroidManifest.xml: ' + err);
})
}
});
}
};
Run Code Online (Sandbox Code Playgroud)
最简单和最新的(cordova 版本 8.1.2)方法来使用edit-config如下标签:
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
<application android:name="mypackage" />
</edit-config>
Run Code Online (Sandbox Code Playgroud)
以类似的方式,您也可以编辑其他配置。
希望它会有所帮助!
| 归档时间: |
|
| 查看次数: |
8316 次 |
| 最近记录: |