uni-app 同一appid 插件绑定多个包名 导致打包不了

uni-app 同一appid 插件绑定多个包名 导致打包不了

开发环境 版本号 项目创建方式
Windows
HBuilderX 4.01

我的项目需求更换包名 更换后重新绑定插件

我的插件列表就出现了 绑定不同包的同一插件

但是在项目中配置插件时 选择列表就只有一个插件
绑定插件新包后 反复的删除插件 及添加插件 打包时都报错 说包名不对


更多关于uni-app 同一appid 插件绑定多个包名 导致打包不了的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

就是uniapp 的bug 你选择云端插件时 他都只默认展示第一次的包名 需要到源码里面去改!!!!!!!!好傻逼

更多关于uni-app 同一appid 插件绑定多个包名 导致打包不了的实战教程也可以访问 https://www.itying.com/category-93-b0.html


还是不行 开始打包时不报错 但时还是报错 服务端返回错误 还是报不一致 还是未改之前的包

购买多次显示的也是一个,只是在勾选后支持多个包名而已,勾选后可以看一下manifest.json源码中是否有对应包名。 如有问题,方便的话可以给我加个协作者,我试试。

勾选后还是以前的包名 在选择元插件列表哪里 美哦与展示绑定了不同包的插件 选了就一直是以前绑定的那个

在后台加项目协作?

回复 水泥钉: 私信你我的账号邮箱,在开发者中心的应用管理里添加协作者

购买的appid与打包使用的appid不一致导致,非bug导致。

在使用 uni-app 进行开发时,如果同一个 appid 绑定了多个包名(package name),可能会导致打包失败。这是因为每个 appid 在 uni-app 中通常只对应一个唯一的包名,并且包名在 Android 和 iOS 中必须是唯一的。

解决方案

以下是一些可能的解决方案:

1. 检查并确保包名唯一

  • 确保每个 appid 只对应一个包名。如果需要在不同的环境中使用不同的包名,可以考虑使用不同的 appid

2. 使用多环境配置

  • 如果你需要在不同的环境中使用不同的包名,可以使用 uni-app 的多环境配置功能。在 manifest.json 中配置不同的环境,并为每个环境设置不同的包名。

例如,在 manifest.json 中配置不同的环境:

{
  "name": "MyApp",
  "appid": "your_appid",
  "description": "MyApp Description",
  "versionName": "1.0.0",
  "versionCode": "100",
  "platforms": ["android", "ios"],
  "distribute": {
    "android": {
      "packageName": "com.example.myapp"
    },
    "ios": {
      "bundleId": "com.example.myapp"
    }
  },
  "env": {
    "development": {
      "distribute": {
        "android": {
          "packageName": "com.example.myapp.dev"
        },
        "ios": {
          "bundleId": "com.example.myapp.dev"
        }
      }
    },
    "production": {
      "distribute": {
        "android": {
          "packageName": "com.example.myapp"
        },
        "ios": {
          "bundleId": "com.example.myapp"
        }
      }
    }
  }
}

在打包时,可以通过指定环境来使用不同的包名:

npm run build:dev
npm run build:prod

3. 手动修改包名

  • 如果你需要在同一个 appid 下使用不同的包名,可以手动修改 manifest.json 中的包名,或者通过脚本来动态修改。

例如,在打包前通过脚本修改 manifest.json

# 修改 manifest.json 中的包名
sed -i 's/com.example.myapp/com.example.myapp.dev/g' manifest.json

然后执行打包命令。

4. 使用不同的 appid

  • 如果以上方法无法满足需求,考虑为不同的包名使用不同的 appid。这样每个包名对应一个独立的 appid,避免冲突。

5. 检查插件配置

  • 如果你使用了第三方插件,确保插件配置中没有冲突的包名。某些插件可能会要求特定的包名,或者可能会自动修改 manifest.json 中的包名。

6. 清理缓存

  • 如果修改了包名后仍然无法打包,尝试清理项目的缓存和构建目录,然后重新打包。
rm -rf unpackage/
npm run build
回到顶部