问题标签 [android-unity-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 我的应用程序在更改统一播放器的屏幕方向时崩溃
我有我的 android 应用程序,点击即可打开统一播放器。我的统一播放器按预期执行。
问题:在更改屏幕旋转时,应用程序崩溃。
调试控制台输出:
AndroidManifest
解决方法:
“修复屏幕更改应用程序崩溃”或“强制横向视图”将使我的解决方案。
- 我尝试将统一播放器设置更改为横向左侧。
- 我试过
orientation|layoutDirection|screenLayout
从 android 清单文件中删除我的。 - 我试过添加
screenOrientation="landscape/user/nosensor/fulluser"
android - 将图像信息从 Unity 传递到 Android 以使用 MLKit
在 Unity 中使用 MLKit 时遇到问题。我要做的是从 webcamtexture 获取图像信息,将指针传递给 Texture2D,然后从中获取原始字节并将它们传递给人脸识别类所在的插件。但是没有检测到人脸。
应该如何将图像/相机信息从 Unity 传递到 android 并因此使用 mlkit?
android - 包含 androidx 库函数的 Unity 插件
我为统一创建了一个 Android 插件来处理一些本机作业,它在我的设备上运行良好,直到我想添加“WorkManager”类来处理一些后台作业并且我收到以下错误:
我认为问题在于运行时不存在 androidx 库。我的问题是:如何将 androidx 支持库添加到 Unity3D?
c# - 为什么我在 AndroidJavaClass 中找不到 class not found 异常?
我尝试了以下代码,但为找不到 ThreadPolicy 的类生成异常
java - 使用 Unity 2018 的 Google Play 服务排行榜错误 (java.lang.ClassNotFoundException: com.google.games.bridge.TokenFragment)
我想使用 Unity 在我的 Android 移动应用中实现排行榜。
我在用:
Unity 2018.2.18f1 (Mac)
Java 开发工具包 (jdk.1.8.0_191)
Google Play 游戏插件 0.9.57 [当前版本 1.1.2019]
Google Play 服务已成功激活(应用内购买工作完美),但在尝试让排行榜功能正常工作时,我不断收到此错误:
进一步(为了清楚起见:我用 XXXX 替换了应用程序名称):
和
...这导致:
- 我尝试了不同的构建类型(内部和 gradle)。
- 我在 Google Play 上为内部和 Alpha 测试人员发布了该应用程序,并将设备的 google 帐户设置为测试帐户
我尝试检查 SHA-1 证书,但不知道如何从 Mac 上的 Google Play 控制台检查和匹配 Keystore 和 SHA-1。
这是在 Unity 中加载场景时正在执行的代码:
排行榜调用如下所示:
我无法理解带有 NullReferenceException 错误的整个部分:
预期的结果是调用 ShowLeaderBoard() 时弹出的 Google 排行榜 UI。
android - Android 插件中的 SurfaceTexture 在 Unity 中不起作用
我无法将纹理绑定到 aSurfaceTexture
以在 Unity 中显示。
更新 4:基于更新 1 中的管道(表面-> 通过表面纹理的外部纹理 -> fbo -> 纹理 2d)我知道SurfaceTexture
它没有正确地将其表面转换为纹理。我可以通过pixelcopy从其表面正确绘制图片,并且可以确认我的FBO绘图到texture2d管道可以使用一些测试颜色。那么问题来了,为什么 SurfaceTexture 不能将其表面转换为纹理呢?
我在 Java 中生成 aTexture
并将其指针传递回 Unity:
SurfaceTexture
我从 id创建一个(在 Java 中):
我使用第三方库GeckoView来渲染 SurfaceTexture 的 Surface。我从 Unity 调用以下方法OnRenderObject()
以将所有 GL 渲染保持在同一线程上:
我知道上面的代码允许在表面上正确绘制。
我在 Unity 中调用以下命令来加载纹理:
为什么RawImage
应用了纹理的只显示这个看起来像精灵的东西,应该是一个网页?
更新 1:所以我一直在研究以下假设:使用 Gecko 绘制到 Surface,并使用 SurfaceTexture 将此表面渲染为GL_TEXTURE_EXTERNAL_OES
. 由于我无法在 Unity 上显示它(不知道为什么),我将此纹理绘制到帧缓冲区并将帧缓冲区中的像素复制到GL_TEXTURE_2D
. 我在 texture_2d 中获得了一个网页(在带有 imageview 和 的模拟器中glReadPixels
)。但是,当我将工作导入 Unity 以测试到目前为止管道是否正常时,我只是得到一个黑屏。我可以通过PixelCopy
api 获取表面的图像。
这是我的 FBO 概览代码 - 我的渲染代码来自 grafika 的texture2D 程序:
更新 2:可能的管道尝试:通过此接口在 C++ 中将外部纹理的绘制函数调用到 C++ 中的 FBO(附加到 Unity 的 texture_2d)。
更新 3:从本机代码调用 Java 函数,这些函数负责将纹理从 SurfaceTexture 绘制到 FBO 再到 Unity 的纹理,并GL.IssuePluginEvent
像第一次更新一样产生黑色纹理。它将在模拟器中显示图像,但在 Unity 中不显示。
c# - 在 Android 和桌面之间建立 TCP 连接
我正在尝试在我的移动设备和桌面之间建立套接字连接。移动设备(Android)将充当服务器,而桌面是客户端机器。
以下是我的服务器代码,
以下是客户端的代码
但由于某种原因,客户端不会连接到运行在 Android 上的服务器。我怎样才能解决这个问题?
android - Android 应用程序包,强制在所有 apk 中包含 ABI
我正在迁移到应用程序包并且遇到了麻烦。
我的应用程序使用 armeabi-v7a ABI。此 ABI 在构建为 apk 时适用于 arm 和 arm64 手机。
使用 app bundle 时,armeabi-v7a 不包含在生成的 APK 中……即使设备能够支持它。
我正在谈论的应用程序使用 vuforia & unity for AR,但它被集成到一个普通的 android 应用程序中(从 unity 导出)。
arm64 ABI 非常有问题(vuforia 有问题),所以我不能使用它。
有没有办法强制在所有生成的 APK 中包含 armeabi-v7a?
android - unity版本升级后unity导出不支持android
旧 Unity 版本:2018.1.6f1
新 Unity 版本:2019 版本
我正在开发一个统一的 android 项目,一切正常。我最近从 2019 的最新统一版本生成了导出,但它不起作用。我在 android 中得到ResourceNotFound异常。如果从旧的统一版本生成,则相同的导出工作。
我曾尝试升级 android studio,但似乎没有帮助。是否需要在 Android Studio 中进行任何更改以使其与最新的统一版本导出一起使用?或者在生成导出时是否需要在 Unity 中进行任何更改?
我附上了以下日志: