当前位置: 首页 > news >正文

No matching client found for package name ‘com.unity3d.player‘

2024年2月5日更新

        必须使用Unity方式接入Unity项目!一句话解决所有问题。(真的别玩Android方式)

        大致这问题出现原因是我在Unity采用了Android方式接入Firebase,而Android接入实际上和Unity接入方式有配置上的不一样,我就是多做了几步操作如下。https://firebase.google.com/docs/android/setup?hl=zh-cn#java

        根级(项目级)Gradle文件 和 模块(应用级)Gradle文件 对应Unity的 baseProjectTemplate.gradle 以及 mainTemplate.gradle,分别对应地方加上如上内容,结果就是bug不断,因为Unity以前mainTemplate.gradle就是apply plugin: 'com.android.application',现在新版已经改为‘com.android.library’,因此就变的有点复杂不过我没注意到,就这样配进去了,打包就肯定出问题,Unity的application已经放置到了launcherTemplate.gradle。
        总结:不要试图在Unity使用Android接入配置方法,更深层的知识没搞懂前很难兼容处理好,最终就是彻底采用Unity方式或Android方式接入。
        实际上,我想Firebase即接入Unity插件,也接入Android(aar形式接入Unity打包的)其实也可以吧?将上方的配置转移到Android配置,单独作为提供给第三方的,而Unity则是完全使用Unity插件方式接入Firebase即可。(待测试)

Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':unityLibrary:processReleaseGoogleServices'.
> No matching client found for package name 'com.unity3d.player'

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 3s
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8

UnityEngine.GUIUtility:ProcessEvent (int,intptr)
 

一、根本原因:google-services.json里的package_name和包签名不一致

"client": [{"client_info": {"mobilesdk_app_id": ...,"android_client_info": {"package_name": "填对包签名"}}

二、一般这样就好了,但是我是Unity版本的变种问题,Unity需要将google-services.json放到对应Assets/Plugins/Android文件夹下,然后Firebase会自动生成一个到StreamingAssets下,最终也是采用StreamingAssets下的作为配置读取。

 注意:Firebase 会查找您添加到 Unity 项目的移动平台 Firebase 配置文件(GoogleService-Info.plist 或 google-services.json)。然后,Firebase 会基于移动平台配置文件自动生成桌面平台 Firebase 配置文件 (google-services-desktop.json)。此桌面配置文件包含您在 Firebase 控制台设置工作流中输入的 Unity 项目 ID。此文件将您的应用与 Firebase 项目关联。

如果编辑器找不到桌面配置文件,请检查 StreamingAssets 目录是否存在以及其中是否包含桌面配置文件。

也就是说你去工程里搜google-services-desktop.json,把它重新生成一遍就好了,也就是删了它,重新运行Unity就会自动生成,生成出的package_name就是你最新的包签名了。(真的是...

三、而且google-services.json依然是需要的,而且它要正确地拷贝到打包出的安卓工程,需要在mainTemplate.gradle末尾添加(一定保证末尾)

task copyJsonFile {def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/")copy {		delete("google-services.json")from(unityProjectPath + '/Assets/Plugins/Android/')into('./')include("google-services.json")}
}
preBuild.dependsOn copyJsonFile

相关文章:

  • docker部署自己的网站wordpress
  • [Vue3]父子组件相互传值数据同步
  • 【linux】通过脚本、系统服务监控开机时间和 cpu 温度
  • wins 安装 tensorflow keras
  • HuTool工具使用(JSONUtil+JSONObject+JSONArray)
  • 3593 蓝桥杯 查找最大元素 简单
  • Leetcode—42. 接雨水【困难】
  • 项目02《游戏-08-开发》Unity3D
  • HarmonyOS鸿蒙ArkTS证件照生成模板(适合二次开发,全套源码版)
  • 面试复盘6——后端开发
  • 进程控制(Linux)
  • 【蓝桥杯冲冲冲】[NOIP2003 普及组] 栈
  • C++ 语法文件
  • 【Golang】exec.command命令日志输出示例
  • Linux常见面试题汇总
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Apache Pulsar 2.1 重磅发布
  • CentOS 7 修改主机名
  • CSS中外联样式表代表的含义
  • express如何解决request entity too large问题
  • Java超时控制的实现
  • Objective-C 中关联引用的概念
  • REST架构的思考
  • TypeScript实现数据结构(一)栈,队列,链表
  • 初识 webpack
  • - 概述 - 《设计模式(极简c++版)》
  • 简单数学运算程序(不定期更新)
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 无服务器化是企业 IT 架构的未来吗?
  • 正则表达式小结
  • 阿里云服务器购买完整流程
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • # .NET Framework中使用命名管道进行进程间通信
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (52)只出现一次的数字III
  • (C++17) optional的使用
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (java)关于Thread的挂起和恢复
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (Oracle)SQL优化技巧(一):分页查询
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (力扣题库)跳跃游戏II(c++)
  • (一) storm的集群安装与配置
  • (转)创业家杂志:UCWEB天使第一步
  • (转)人的集合论——移山之道
  • .NET Core 2.1路线图
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .Net Web窗口页属性
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NET单元测试
  • ??如何把JavaScript脚本中的参数传到java代码段中
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析