Unity FBSDK 接入踩坑记录

这篇具有很好参考价值的文章主要介绍了Unity FBSDK 接入踩坑记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于unity 接入 facebook sdk报错解决记录

问题描述:
打包报错“Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java使用或覆盖了已过时的 API.”

1.期间我尝试了将包导出到AndroidStudio中打包,查看bug,导入之后不作任何处理然后打包

FAILURE: Build completed with 3 failures.

1: Task failed with an exception.
-----------
* What went wrong:
A problem was found with the configuration of task ':unityLibrary:checkDebugManifest' (type 'CheckManifest').
  - In plugin 'com.android.build.gradle.api.AndroidBasePlugin' type 'com.android.build.gradle.internal.tasks.CheckManifest' property 'manifest' has @Input annotation used on property of type 'File'.
    
    Reason: A property of type 'File' annotated with @Input cannot determine how to interpret the file.
    
    Possible solutions:
      1. Annotate with @InputFile for regular files.
      2. Annotate with @InputDirectory for directories.
      3. If you want to track the path, return File.absolutePath as a String and keep @Input.
    
    Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#incorrect_use_of_input_annotation for more details about this problem.

* 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.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
A problem was found with the configuration of task ':unityLibrary:compileDebugShaders' (type 'ShaderCompile').
  - In plugin 'com.android.build.gradle.api.AndroidBasePlugin' type 'com.android.build.gradle.tasks.ShaderCompile' property 'sourceDir' is annotated with @InputFiles but missing a normalization strategy.
    
    Reason: If you don't declare the normalization, outputs can't be re-used between machines or locations on the same machine, therefore caching efficiency drops significantly.
    
    Possible solution: Declare the normalization strategy by annotating the property with either @PathSensitive, @Classpath or @CompileClasspath.
    
    Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#missing_normalization_annotation for more details about this problem.

* 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.
==============================================================================

3: Task failed with an exception.
-----------
* What went wrong:
Some problems were found with the configuration of task ':unityLibrary:transformNativeLibsWithMergeJniLibsForDebug' (type 'TransformTask').
  - In plugin 'com.android.build.gradle.api.AndroidBasePlugin' type 'com.android.build.gradle.internal.pipeline.TransformTask' property 'allSecondaryInputs' is private and annotated with @Internal.
    
    Reason: Annotations on private getters are ignored.
    
    Possible solutions:
      1. Make the getter public.
      2. Annotate the public version of the getter.

作为非专业安卓工程师,我根本就看不懂报错,只知道和“com.android.build.gradle.api.AndroidBasePlugin”脱不了干系,然后紧接着发现AS在建议我升级一些配置,看样子是要升级什么东西。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RGcVC7Aj-1688017256810)(C:\Users\gy\AppData\Local\Temp\企业微信截图_1687940470251.png)]

神奇的事情发生了,我点击升级后,打包成功了,然后接着我发现他升级的东西就是gradle里面定义的一个依赖版本。

2.gradle android plugin 版本需要升级:

​ 3.4.0 => 4.2.0
​ 此时需要修改gradle里面的依赖,改gradle的文件需要处理一个问题,Unity的Custom Gradle有几种,如果修改错误可能会导致报错:
[Could not find method classpath() for arguments [com.android.tools.build:gradle:4.0.0]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vvtR12aI-1688017256811)(C:\Users\gy\AppData\Roaming\Typora\typora-user-images\image-20230627143844398.png)]

第二种修改方法:直接修改UnityEditor文件下的gradle文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-66sOBv1Y-1688017256811)(file:///C:/Users/gy/Documents/WXWork/1688850302849244/Cache/Image/2023-06/企业微信截图_16879176944369.png)]

感恩戴德出包了!

装上包,NMD闪退了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sRkflf41-1688017256811)(C:\Users\gy\AppData\Roaming\Typora\typora-user-images\image-20230628170748477.png)]

2023/06/28 16:38:56.105 4912 4979 Error Unity The file ‘/data/app/~~9dlUytlV0Q8idFcjL1iVkA==/com.lmd.dev.xproject-x4dpKkGPp7G8SwWpLHuc4g==/base.apk/assets/bin/Data/ea726188743d68d45b5a458307e424f8’ is corrupted! Remove it and launch unity again!

继续解决问题:
网上根本搜不到关于Fascebook是如何处理这个问题的。看样子就是facebook初始化报错了,网上的各种解决办法都千奇百怪。

我重新打包报错是一样的,然后拆包查看那个资源文件,文件一大堆乱码,但是有个Facebooksetting字眼,该文件是记录AppID等信息的一个asset,且文件的位置在Resources下面,恰好网上有说asset问题的,有说Resources文件夹问题的,我只能一一都试一试。关键是我手动打包是不会报错闪退的,tmd。

Script attached to ‘FacebookSettings’ in scene ‘’ is missing or no valid script is attached.

改meta冲突解决的
In my case I found that the meta file for the script was checked in in a conflicted state. The team uses SVN, so the left right and working copies were all in there. I manually fixed the meta file and it seems to have worked. You could probably also just delete the meta file and let unity regenerate it, but the guid would probably change, which is why I opted for doing it manually.

删除丢失脚本引用的
I got this error after deleting some scripts but not deleting some prefabs that used those scripts. Even though those prefabs are not being used anywhere, they generated those warnings during builds. Check your prefabs for missing script references and delete them (or remove the script component)

有ScriptableObject的asset文件和cs文件同名的(这个存疑,因为FB的package默认命名就是这样的,demo也出包成功了的)
I had kind of the same error, but I had a ScriptableObject class called Item, but the filename was Items.cs - then I got this error. Had to rename the file to Item.cs

手动打包发现console面板有个日志叫我 regenerate AndroidMenifist 文件,于是我点击后出的包初始化FBSDK就会成功,于是乎需要处理的是在自动打包流程里面需要处理这件事情。文章来源地址https://www.toymoban.com/news/detail-725928.html

到了这里,关于Unity FBSDK 接入踩坑记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity导出Android项目踩坑记录

    如果unity的ndk版本和android项目里的ndk版本不一致会报错,让人很崩溃的 谷歌市场不支持64位arm不让通过审核,单纯的配置ndk:

    2024年01月21日
    浏览(52)
  • Unity 射线与碰撞范围检测【踩坑记录】

    射线检测在2D和3D的区别比较大 一定要加上对应的Collider组件 对应的函数只检测对应的Collider, Physics.Raycast 是不会检测到Collider 2D的(这个让我有一次debug了好久才发现) 对应API如下 可以使用 Debug.DrawLine(Vector3 origin,Vector3 destination,Color color) 和 Debug.DrawRay(Vector3 origin,Vector3 dir

    2023年04月08日
    浏览(35)
  • 【Unity】AI实战应用——Unity接入GPT和对游戏开发实际应用的展望

    GPT for unity插件地址: GitHub - sunsvip/ChatGPTForUnity: ChatGPT for unity 用法: 打开Unity PackageManager界面. Add package from git URL 粘贴插件地址添加 https://github.com/sunsvip/ChatGPTForUnity.git ———————————————————————————————————— 几个资本大佬花钱让一群

    2024年02月08日
    浏览(41)
  • 【Unity】AI实战应用——Unity接入ChatGPT和对游戏开发实际应用的展望

    GPT for unity插件地址: GitHub - sunsvip/ChatGPTForUnity: ChatGPT for unity 用法: 打开Unity PackageManager界面. Add package from git URL 粘贴插件地址添加 https://github.com/sunsvip/ChatGPTForUnity.git ———————————————————————————————————— 几个资本大佬花钱让一群

    2023年04月08日
    浏览(47)
  • Unity发布抖音小游戏:SDK接入

    上篇介绍Unity小游戏发布抖音平台的开发者账号注册以及小游戏创建和申请。本篇介绍字节SDK接入Unity游戏项目中。 接入参考教程:Docs,下载bgdt.package包,并导入Unity项目工程。    打开ByteGame菜单,弹出字节工具面板。点击下载安装另外2个字节小游戏工具。   安装完毕后,

    2024年02月16日
    浏览(54)
  • Ubuntu20.04安装Unity踩坑记录

    链接:https://docs.unity3d.com/hub/manual/InstallHub.html?_ga=2.264734605.30268629.1678763370-652752773.1678763370#install-hub-linux step1 一切顺利 结果: step2 开始报错了!! E: 仓库 “https://ppa.launchpadcontent.net/jonathonf/ffmpeg-4/ubuntu jammy Release” 没有 Release 文件。 解决办法: 参考教程:apt-get update时提示仓

    2024年02月04日
    浏览(41)
  • 十八、Unity游戏引擎入门

    1、下载     首先需要下载Unity Hub,下载网址:https://unity.com/cn。     然后在其中下载Unity编辑器并安装,可选择最新版本。     接着需要选择适合的开发环境,例如Android Studio或Xcode,以便进行手机游戏开发。在安装完Unity后,需要根据项目需求下载对应的模块和插件,例

    2024年02月16日
    浏览(75)
  • Unity 之 最新原生广告Ads接入 -- 助力增长游戏收益

    Unity Ads 是由 Unity Technologies 开发的广告平台,可以用于在移动应用程序中显示广告。它提供了多种广告类型,包括插屏广告、横幅广告、视频广告等。 在本文中,我们将详细介绍如何接入 Unity Ads 广告 SDK。 在使用 Unity Ads 广告 SDK 之前,需要先登录Unity Ads后台。地址: https:/

    2024年02月11日
    浏览(35)
  • 使用团结引擎开发Unity 3D射击游戏

           本案例是初级案例,意在引导想使用unity的初级开发者能较快的入门,体验unity开发的方便性和简易性能。       本次我们将使用团结引擎进行开发,帮助想体验团结引擎的入门开发者进行较快的环境熟悉。      本游戏是一个俯视角度的射击游戏。主角始终位于屏幕

    2024年01月19日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包