unity3d - Unity:下载 Google Ads Api 后“无法将类转换为 dex 格式”
问题描述
我正在开发一个大约 30 分钟前运行良好的小型平台游戏。我所做的只是按照此处的说明中所述导入 Google Ads Api:
https://developers.google.com/admob/unity/start
我一步一步跟着他们。
现在,我的游戏在编辑器中仍然可以正常运行 - 但我现在想将 APK 部署到我的手机上。这崩溃了
"CommandInvokationFailure: Unable to convert classes into dex format.
D:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\OpenJDK\Windows\bin\java.exe -Xmx8000M -Dcom.android.sdkmanager.toolsdir="C:/Program Files (x86)/Android/android-sdk\tools" -Dfile.encoding=UTF8 -jar "D:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" -
stderr[
PARSE ERROR:
unsupported class file version 52.0
...while parsing bitter/jnibridge/JNIBridge.class
1 error; aborting
]
stdout["
接下来是一个包含大量信息的长截断列表。我应要求发布此内容。
然后我用谷歌搜索了一下,人们说这是由于“重复文件”通常来自 Facebook API 和 Google API 都被导入同一个项目。
但是,您可能已经认为,Google API 是我导入的第一个 API,所以从技术上讲,不可能有“两个重复文件”,对吧?
解决方案
对于那些有同样问题的人:
下载适用于 Android 的最新 JDK(它与 Android Studio 一起提供,因此您需要安装 Android Studio,即使您不想要它)。
安装完所有东西(包括最新的 JDK)后,记住你的 JDK 所在的路径。
现在在 Unity 的设置下,将界面引导到您刚刚下载的最新 JDK 的 JDK 文件夹。这解决了它:)
推荐阅读
- python - 从数据框中删除单词列表
- php - 在这种情况下如何摆脱未定义的索引
- javascript - JSON 输入意外结束,通过请求获取 Instagram JSON 数据
- python-3.x - 如何比较两个文件并查看内容是否相同?
- javascript - 如何在vue js中使用谷歌地图信息窗口内的@click触发功能?
- javascript - 当secureTextEntry 为真时TextInput 清除文本
- python - 用于过滤请求的 Apache Thrift 代理
- c - 为什么指针类型转换为浮点数不起作用?
- c - 考虑下面的源代码,其中 N 是用#define 声明的常量
- excel - 将 AHK 参数中的值传递给 VBA 脚本中的子例程