【问题标题】:Unity 3d app on Google TV / Google TV Emulator: Missing MonoGoogle TV / Google TV Emulator 上的 Unity 3d 应用:缺少 Mono
【发布时间】:2012-01-31 05:36:22
【问题描述】:

我正在尝试在 Google TV 上运行 Unity 构建的 Android 应用。我已经尝试了各种各样的事情,但没有太多运气。直接将 unity 构建的 .apk 推送到 Google TV 模拟器上是行不通的。我还尝试从统一的 Temp/StagingArea 文件夹中获取代码并将其带到 Eclipse(在 Ubuntu 中)并使用模拟器运行它(在此之后),但这也不起作用。如果您在除 Google TV 模拟器之外的 AVD 上运行该应用程序,则该指南有效。

我尝试过 Unity 的不同设置(甚至是不同版本的 Unity,即 Unity 3.4.1 和 Unity 3.5)。

使用 Unity 3.5,我使用以下设置进行了测试 Android SDK 版本 = 3.0 设备过滤器 = x86 和带有 VFP 的 Armv6(都尝试了) 图形级别 = OpenGL ES 2.0 优化 = .NET 2.0 子集剥离级别 = 禁用场景只是有一个相机和一个渲染在它前面的球体

在logcat中都报如下错误:

01-24 11:09:51.163: E/AndroidRuntime(1694): FATAL EXCEPTION: main
01-24 11:09:51.163: E/AndroidRuntime(1694): java.lang.UnsatisfiedLinkError: Couldn't     load mono: findLibrary returned null
01-24 11:09:51.163: E/AndroidRuntime(1694):     at java.lang.Runtime.loadLibrary(Runtime.java:425)
01-24 11:09:51.163: E/AndroidRuntime(1694):     at java.lang.System.loadLibrary(System.java:554)
01-24 11:09:51.163: E/AndroidRuntime(1694):     at com.unity3d.player.UnityPlayer.<init>(Unknown Source)
01-24 11:09:51.163: E/AndroidRuntime(1694):     at com.unity3d.player.UnityPlayerActivity.onCreate(Unknown Source)
01-24 11:09:51.163: E/AndroidRuntime(1694):     at com.BinexSolutions.gtvTest.SphereFromunity35Activity.onCreate(SphereFromunity35Activity.java:11)
01-24 11:09:51.163: E/AndroidRuntime(1694):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
01-24 11:09:51.163: E/AndroidRuntime(1694):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1732)
01-24 11:09:51.163: E/AndroidRuntime(1694):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784)
01-24 11:09:51.163: E/AndroidRuntime(1694):     at android.app.ActivityThread.access$1500(ActivityThread.java:124)
01-24 11:09:51.163: E/AndroidRuntime(1694):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1016)
01-24 11:09:51.163: E/AndroidRuntime(1694):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-24 11:09:51.163: E/AndroidRuntime(1694):     at android.os.Looper.loop(Looper.java:132)
01-24 11:09:51.163: E/AndroidRuntime(1694):     at android.app.ActivityThread.main(ActivityThread.java:4083)
01-24 11:09:51.163: E/AndroidRuntime(1694):     at java.lang.reflect.Method.invokeNative(Native Method)
01-24 11:09:51.163: E/AndroidRuntime(1694):     at java.lang.reflect.Method.invoke(Method.java:491)
01-24 11:09:51.163: E/AndroidRuntime(1694):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
01-24 11:09:51.163: E/AndroidRuntime(1694):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
01-24 11:09:51.163: E/AndroidRuntime(1694):     at dalvik.system.NativeStart.main(Native Method)

Unity 3.4.1 的类似结果。 Google tv 模拟器无法运行该应用,但其他 android 模拟器成功。

Unity 3.4.1 - 模拟器构建 - Android SDK 2.3.3

Google TV Emulator = 失败(无法加载单声道:findlibrary 返回 null)

Android 2.3.3 模拟器 = 适用于 (MinSDK = 10 = android 2.3.3)

Unity 3.4.1 - ArmV6 构建 - Android SDK 2.3.3

Google TV Emulator = 失败(控制台上没有调试/错误消息)(预计因为 GTV 是 Intel-Atom x86)

Android 2.3.3 模拟器 = 适用于 MinSDK = 10 = android 2.3.3)

关于这个场景的任何线索?

【问题讨论】:

    标签: android android-emulator unity3d google-tv


    【解决方案1】:

    我认为 Unity 需要 NDK,而该 NDK 不适用于 Google TV。

    【讨论】:

    • 我感觉这是根本问题。附带说明:是否有任何不依赖 NDK 的 3d 引擎?
    • 你最好再找一遍,和/或用#Android #Game-Engine标签询问。
    • 另外,有什么方法可以将 x86 的单声道库与我的应用静态链接,以便它可以在 GoogleTV 上运行?
    • 否 - 如果它显示 x86,它可能需要 NDK。
    猜你喜欢
    • 2012-10-08
    • 1970-01-01
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-25
    • 2017-07-05
    • 2012-09-20
    相关资源
    最近更新 更多