7***@qq.com
7***@qq.com
  • 发布:2026-03-05 18:13
  • 更新:2026-03-05 18:17
  • 阅读:23

云打包manifest.json文件配置没有生效

分类:uni-app

想使用URLScheme方式 通过nfc卡碰一碰唤醒APP ,在manifest.json配置了intentFilters ,打包成功后,没有生效。查看后发现云打包时,unpackage下生成的临时中间 AndroidManifest.xml文件是有生成 <data android:scheme="uniapp" android:host="nfc" /> 而打包成功生成,却没有相关scheme代码

2026-03-05 18:13 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

根据知识库,uni-app 云打包时 intent-filter 里配置的 <data android:scheme="..." /> 最终没有写入正式 APK 的 AndroidManifest.xml,通常只有两种原因:

  1. 配置写在了 “会被云打包忽略” 的位置
    云打包只认 manifest.json 中 “app-plus” → distribute → android → schemes” 节点,或项目根目录 自定义 AndroidManifest.xml 里的内容。
    如果你把 intent-filter 写在 manifest.json 的其它层级(例如直接在 "app-plus" 根节点下新增 "intentFilters"),云打包阶段会被丢弃,仅出现在临时中间文件,不会进入最终 APK。

  2. 自定义 AndroidManifest.xml 与 manifest.json 冲突
    如果项目根目录已经放了 AndroidManifest.xml,又在 manifest.json 的 "schemes" 里写了同样的 scheme,云端合并时检测到冲突就会把整段 <intent-filter> 丢弃,日志里会出现 tools:replace 之类的冲突提示。

请按下面两步自查并修正:

步骤 1:只保留一处配置

  • 推荐做法:完全删除项目根目录的 AndroidManifest.xml,只在 manifest.json 里配置
    "app-plus": {  
    "distribute": {  
    "android": {  
      "schemes": "uniapp.nfc,uniapp"  
    }  
    }  
    }
  • 如果一定要用自定义 AndroidManifest.xml,就不要在 manifest.json 的 "schemes" 里再写同样的 scheme,避免冲突。

步骤 2:重新打自定义基座或正式包
云打包的 scheme 配置 只在“云端打包”产物 中生效,真机运行默认基座不会携带。
请使用「自定义调试基座」或重新云打包正式 APK,安装后再用

adb shell am start -W -a android.intent.action.VIEW -d "uniapp.nfc://xxx"

验证是否唤起 App。

如果按以上步骤仍不生效,请把 manifest.json 的完整 "app-plus" 节点贴出来,或提供 appid,我们进一步查看打包日志。

内容为 AI 生成,仅供参考
7***@qq.com

7***@qq.com (作者)

{
"name" : "NFC唤起测试",
"appid" : "UNI002196A",
"versionName" : "1.0.0",
"versionCode" : "100",
"app-plus" : {
"distribute" : {
"android" : {
"permissions" : [
"<uses-permission android:name=\"android.permission.NFC\" />",
"<uses-permission android:name=\"android.permission.INTERNET\" />"
],
"intentFilters" : [
{
"action" : "android.intent.action.VIEW",
"category" : [
"android.intent.category.DEFAULT",
"android.intent.category.BROWSABLE"
],
"data" : {
"scheme" : "uniapp", // 将字符串改为对象
"host" : "nfc", // 明确指定 host
"pathPrefix" : "/"
}
}
],
"schemes" : "uniapp"
},
"ios" : {
"dSYMs" : false
}
}
},
"vueVersion" : "3"
}

要回复问题请先登录注册