无法让 MonoDroid 4.0.6 x86 Emulation 或 GoogleTV 工作 [英] Can't get MonoDroid 4.0.6 x86 Emulation or GoogleTV to work

查看:52
本文介绍了无法让 MonoDroid 4.0.6 x86 Emulation 或 GoogleTV 工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

首先,我在 OSX 10.7.3 上使用 MonoDevelop 2.8.8.4 和 MonoDroid 4.0.6 和 Mono 2.10.9.

First off all, i'm on OSX 10.7.3 using MonoDevelop 2.8.8.4 with MonoDroid 4.0.6 and Mono 2.10.9.

所以我购买了 MFA 并创建了通用的Mono for Android Application"项目进行测试.我已经在 Option/Build/MonoForAndroidBuild 下的高级选项卡中检查了 ABI 为armeabi"、armeabi-v7a"和x86".我还将构建设置为发布.然后,我转到 fileMenu 中的 Project/CreateAndroidProject 以构建我将用于上传到 Logitech Revue GoogleTV 设备或 x86 Emulator 的 apk 文件.

So I have purchased MFA and have created the generic "Mono for Android Application" project for testing. I have checked the ABIs to "armeabi", "armeabi-v7a" and "x86" in the Advanced tab under Option/Build/MonoForAndroidBuild. I have also set the build to release. I then go to Project/CreateAndroidProject in the fileMenu to build my apk file I will use to upload to the Logitech Revue GoogleTV device or x86 Emulator.

上传并运行应用程序后,我收到错误::应用程序 AndroidTest(进程 AndroidTest.AndroidTest)意外停止.请重试.".

After uploading and running the application I get the error:: "The Application AndroidTest(process AndroidTest.AndroidTest) has stopped unexpectedly. Please try again.".

我在使用 Android 模拟器API lvl 10 Intel Atom x86"时也遇到同样的错误.有没有人让 MonoDroid 在任何 x86 平台上工作?如果是这样,您使用的是哪一种和什么设置?您使用的是 VirtualBox 还是标准的 AndroidEmulator?此外,您使用了什么 API 级别以及需要设置的 MonoDroid proj/sln 设置是什么才能使其工作?注意:我使用的项目适用于我的 ARM 安卓手机设备和 ARM AndroidEmulator.

I also get this same error when using the Android Emulator "API lvl 10 Intel Atom x86". Has anyone got MonoDroid to work on any x86 platforms? If so, which one and what were the setting you used? Were you using VirtualBox or the standard AndroidEmulator? Also what API level did you use and what were the MonoDroid proj/sln setting you needed to set to get it to work? NOTE: The proj I used works on my ARM android phone device and the ARM AndroidEmulator.

我还设置了 AndroidManifest.xml 标志::

I have also set the AndroidManifest.xml flag::

<uses-feature android:name="android.hardware.touchscreen" android:required="false" />

当我使用adb logcat"时,它在 x86 模拟器上给出错误:java.lang.UnsatisfiedLinkError:无法加载库:reloc_library[1311]:799 无法定位 'atexit'..."

When I use "adb logcat" it gives the error on x86 emulators:: "java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1311]: 799 cannot locate 'atexit'..."

编辑 - 这是在 Logitech GoogleTV 上运行应用程序时的 logcat 信息::"

I/ActivityManager(193):开始:意图{act=android.intent.action.MAIN flg=0x10200000cmp=com.Reign.WaterDemo_Android/waterdemo_android.Activity1 } 来自 pid247 I/ActivityManager(193):启动proc com.Reign.WaterDemo_Android对于活动 com.Reign.WaterDemo_Android/waterdemo_android.Activity1:pid=2084 uid=10060 gids={1015} I/ActivityThread(2084):发布com.Reign.WaterDemo_Android.mono_init:mono.MonoRuntimeProviderD/AndroidRuntime(2084):关闭虚拟机 W/dalvikvm(2084):threadid=1:线程退出时出现未捕获的异常(组=0x66995778)E/AndroidRuntime(2084):致命异常:主 E/AndroidRuntime(2084): java.lang.UnsatisfiedLinkError: 无法加载 monodroid:findLibrary 返回空 E/AndroidRuntime(2084):在java.lang.Runtime.loadLibrary(Runtime.java:425) E/AndroidRuntime(2084): 在 java.lang.System.loadLibrary(System.java:554)E/AndroidRuntime(2084):在mono.MonoPackageManager.LoadApplication(MonoPackageManager.java:24)E/AndroidRuntime(2084):在mono.MonoRuntimeProvider.attachInfo(MonoRuntimeProvider.java:22)E/AndroidRuntime(2084):在android.app.ActivityThread.installProvider(ActivityThread.java:3938)E/AndroidRuntime(2084):在android.app.ActivityThread.installContentProviders(ActivityThread.java:3693)E/AndroidRuntime(2084):在android.app.ActivityThread.handleBindApplication(ActivityThread.java:3649)E/AndroidRuntime(2084):在android.app.ActivityThread.access$2200(ActivityThread.java:124)E/AndroidRuntime(2084):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054)E/AndroidRuntime(2084):在android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime(2084): 在 android.os.Looper.loop(Looper.java:132) E/AndroidRuntime(2084): 在 android.app.ActivityThread.main(ActivityThread.java:4083)E/AndroidRuntime(2084):在java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime(2084): 在 java.lang.reflect.Method.invoke(Method.java:491)E/AndroidRuntime(2084):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)E/AndroidRuntime(2084):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)E/AndroidRuntime(2084): 在 dalvik.system.NativeStart.main(NativeMethod) W/ActivityManager(193):强制完成活动com.Reign.WaterDemo_Android/waterdemo_android.Activity1 D/dalvikvm(193): GC_FOR_ALLOC 释放 324K,18% 释放 9559K/11591K,暂停 59 毫秒I/dalvikvm-heap(193):将堆(碎片情况)增长到 9.816MB178700 字节分配 D/dalvikvm(193):GC_FOR_ALLOC 释放了 9K,18%释放 9723K/11783K,暂停 59 毫秒 D/dalvikvm(193):GC_FOR_ALLOC 释放117K,19% 空闲 9606K/11783K,暂停 58 毫秒 I/dalvikvm-heap(193):增长堆(碎片情况)为 10.794MB,用于 1155900 字节的分配 D/dalvikvm(193): GC_FOR_ALLOC 释放 2K,18% 释放 10733K/12935K,暂停 56 毫秒D/dalvikvm(193):GC_FOR_ALLOC 释放 <1K,18% 释放 10733K/12935K,暂停 57 毫秒 I/dalvikvm-heap(193):将堆(碎片案例)增长到 12.752MB对于 2054924 字节分配 D/dalvikvm(193):GC_FOR_ALLOC 释放了 0K,15% 免费 12740K/14983K,暂停 57 毫秒 W/ActivityManager(193):活动ActivityRecord 的暂停超时{66e1c680com.Reign.WaterDemo_Android/waterdemo_android.Activity1} D/dalvikvm(193): GC_CONCURRENT 释放 12K,15% 释放 12867K/14983K,暂停 1ms+3ms

I/ActivityManager( 193): Starting: Intent { act=android.intent.action.MAIN flg=0x10200000 cmp=com.Reign.WaterDemo_Android/waterdemo_android.Activity1 } from pid 247 I/ActivityManager( 193): Start proc com.Reign.WaterDemo_Android for activity com.Reign.WaterDemo_Android/waterdemo_android.Activity1: pid=2084 uid=10060 gids={1015} I/ActivityThread( 2084): Pub com.Reign.WaterDemo_Android.mono_init: mono.MonoRuntimeProvider D/AndroidRuntime( 2084): Shutting down VM W/dalvikvm( 2084): threadid=1: thread exiting with uncaught exception (group=0x66995778) E/AndroidRuntime( 2084): FATAL EXCEPTION: main E/AndroidRuntime( 2084): java.lang.UnsatisfiedLinkError: Couldn't load monodroid: findLibrary returned null E/AndroidRuntime( 2084): at java.lang.Runtime.loadLibrary(Runtime.java:425) E/AndroidRuntime( 2084): at java.lang.System.loadLibrary(System.java:554) E/AndroidRuntime( 2084): at mono.MonoPackageManager.LoadApplication(MonoPackageManager.java:24) E/AndroidRuntime( 2084): at mono.MonoRuntimeProvider.attachInfo(MonoRuntimeProvider.java:22) E/AndroidRuntime( 2084): at android.app.ActivityThread.installProvider(ActivityThread.java:3938) E/AndroidRuntime( 2084): at android.app.ActivityThread.installContentProviders(ActivityThread.java:3693) E/AndroidRuntime( 2084): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3649) E/AndroidRuntime( 2084): at android.app.ActivityThread.access$2200(ActivityThread.java:124) E/AndroidRuntime( 2084): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054) E/AndroidRuntime( 2084): at android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime( 2084): at android.os.Looper.loop(Looper.java:132) E/AndroidRuntime( 2084): at android.app.ActivityThread.main(ActivityThread.java:4083) E/AndroidRuntime( 2084): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime( 2084): at java.lang.reflect.Method.invoke(Method.java:491) E/AndroidRuntime( 2084): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) E/AndroidRuntime( 2084): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) E/AndroidRuntime( 2084): at dalvik.system.NativeStart.main(Native Method) W/ActivityManager( 193): Force finishing activity com.Reign.WaterDemo_Android/waterdemo_android.Activity1 D/dalvikvm( 193): GC_FOR_ALLOC freed 324K, 18% free 9559K/11591K, paused 59ms I/dalvikvm-heap( 193): Grow heap (frag case) to 9.816MB for 178700-byte allocation D/dalvikvm( 193): GC_FOR_ALLOC freed 9K, 18% free 9723K/11783K, paused 59ms D/dalvikvm( 193): GC_FOR_ALLOC freed 117K, 19% free 9606K/11783K, paused 58ms I/dalvikvm-heap( 193): Grow heap (frag case) to 10.794MB for 1155900-byte allocation D/dalvikvm( 193): GC_FOR_ALLOC freed 2K, 18% free 10733K/12935K, paused 56ms D/dalvikvm( 193): GC_FOR_ALLOC freed <1K, 18% free 10733K/12935K, paused 57ms I/dalvikvm-heap( 193): Grow heap (frag case) to 12.752MB for 2054924-byte allocation D/dalvikvm( 193): GC_FOR_ALLOC freed 0K, 15% free 12740K/14983K, paused 57ms W/ActivityManager( 193): Activity pause timeout for ActivityRecord{66e1c680 com.Reign.WaterDemo_Android/waterdemo_android.Activity1} D/dalvikvm( 193): GC_CONCURRENT freed 12K, 15% free 12867K/14983K, paused 1ms+3ms

"

推荐答案

Google TV 不支持 NDK,因此 MonoDroid Java 框架无法加载 libmonodroid.so 库.目前没有可用的 ABI.

Google TV does not support NDK, so the MonoDroid Java framework cannot load the libmonodroid.so library. There are no ABIs that will work at this time.

Google TV 上的 NDK 支持功能请求开放:

There is a feature request open for NDK support on Google TV:

http://code.google.com/p/googletv-issues/issues/detail?id=12

这篇关于无法让 MonoDroid 4.0.6 x86 Emulation 或 GoogleTV 工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆