Cordova admob-plus插件向AndroidManifest添加错误应用ID问题
解决Admob-Plus插件AndroidManifest.xml应用ID错误问题
修复步骤:
彻底清理插件缓存并重装
Cordova可能留存了旧配置缓存,执行以下命令完全清理后重新安装插件:ionic cordova plugin rm admob-plus-cordova npm uninstall admob-plus-cordova rm -rf node_modules rm package-lock.json npm install ionic cordova plugin add admob-plus-cordova --variable APP_ID_ANDROID="ca-app-pub-00000000000000~000000000" --variable APP_ID_IOS="ca-app-pub-00000000000000~000000000"检查config.xml中的硬编码配置
打开项目根目录的config.xml,搜索com.google.android.gms.ads.APPLICATION_ID,如果存在硬编码的meta-data项,直接修改为正确ID,或者删除该条目让插件读取package.json的配置。修改插件内置配置模板
找到插件安装目录下的plugins/admob-plus-cordova/src/android/plugin.xml,将里面默认的APP_ID替换为你的正确ID,之后重新同步平台:ionic cordova platform rm android ionic cordova platform add android ionic cordova build android用Cordova钩子强制替换ID
若上述方法无效,创建构建钩子自动修正:- 在项目根目录新建
hooks/after_prepare/010_replace_admob_id.js,写入以下内容:const fs = require('fs'); const path = require('path'); module.exports = function(context) { const manifestPath = path.join(context.opts.projectRoot, 'platforms/android/app/src/main/AndroidManifest.xml'); let content = fs.readFileSync(manifestPath, 'utf8'); content = content.replace('ca-app-pub-xxx~yyy', 'ca-app-pub-00000000000000~000000000'); fs.writeFileSync(manifestPath, content); }; - 给钩子文件添加执行权限:
chmod +x hooks/after_prepare/010_replace_admob_id.js - 执行构建命令时,钩子会自动替换错误ID。
- 在项目根目录新建
内容的提问来源于stack exchange,提问作者Glen
相关产品推荐
相关产品推荐

