无法获得MonoDroid的4.0.6 x86模拟或GoogleTV的工作(Can't ge

2019-09-16 13:01发布

首先要明确的,我对OSX 10.7.3使用MonoDevelop的2.8.8.4与MonoDroid的4.0.6和Mono 2.10.9。

所以,我已经购买了MFA并已创建测试项目通用的“为Android应用程序单”。 我检查了的ABI为“armeabi”,“armeabi-V7A”和“86”,在高级选项卡下选择/构建/ MonoForAndroidBuild。 我还设置生成释放。 然后我去项目/ CreateAndroidProject在fileMenu打造我的apk文件,我将用它来上传到罗技歌剧团的GoogleTV设备或x86模拟器。

上传并运行应用程序,我得到的错误::后“的应用AndroidTest(过程AndroidTest.AndroidTest)已意外停止,请重试。”

使用Android模拟器“10级的Intel Atom的x86 API”时,我也得到同样的错误。 有没有人有MonoDroid的在任何x86平台上工作? 如果是这样,哪一个,什么都设定你用吗? 是你使用VirtualBox或标准AndroidEmulator? 还什么API级别,你使用什么是该MonoDroid的凸出/ SLN设置您需要设置才能正常工作? 注:我用ARM的Android手机设备上工作,该凸出和ARM AndroidEmulator。

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

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

当我使用“亚行logcat”,它提供了有关x86模拟器错误::“java.lang.UnsatisfiedLinkError中:无法加载库:reloc_library [1311] 799找不到‘的atexit’......”

编辑-下面是运行了罗技GoogleTV的应用程序时的logcat的信息::“

I / ActivityManager(193):开始:意向{ACT = android.intent.action.MAIN FLG = 0x10200000 CMP = com.Reign.WaterDemo_Android / waterdemo_android.Activity1}从PID 247 I / ActivityManager(193):开始PROC com.Reign .WaterDemo_Android对于活性com.Reign.WaterDemo_Android / waterdemo_android.Activity1:PID = 2084 UID = 10060的GID = {1015} I / ActivityThread(2084):酒吧com.Reign.WaterDemo_Android。 mono_init:mono.MonoRuntimeProvider d / AndroidRuntime(2084):关闭VM W / dalvikvm(2084):线程ID = 1:致命异常:主E / AndroidRuntime螺纹与未捕获的异常(组= 0x66995778)E / AndroidRuntime(2084)离开(2084):java.lang.UnsatisfiedLinkError中:无法加载MonoDroid的:findLibrary返回null 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):在雄 id.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(本机方法)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(本机方法)W / ActivityManager(193):强制结束活动com.Reign.WaterDemo_Android / waterdemo_android.Activity1 d / dalvikvm(193):GC_FOR_ALLOC释放324K,免费18%9559K / 11591K,暂停59 MS I / dalvikvm堆(193):生长堆(FRAG情况下),以用于9.816MB 178700字节分配d / dalvikvm(193):GC_FOR_ALLOC释放9K,18%的游离9723K / 11783K,暂停59ms d / dalvikvm(193) :GC_FOR_ALLOC释放117K,19%的游离9606K / 11783K,暂停58ms I / dalvikvm堆(193):生长堆(FRAG情况下),以10.794MB为1155900字节分配d / dalvikvm(193):GC_FOR_ALLOC释放2K,18%自由10733K / 12935K,暂停56MS d / dalvikvm(193):GC_FOR_ALLOC释放<1K,免费18%10733K / 12935K,暂停57ms I / dalvikvm堆(193):生长堆(FRAG情况下),以12.752MB为2054924字节分配d / dalvikvm(193):GC_FOR_ALLOC释放0K,15%的游离12740K / 14983K,暂停57ms W / ActivityManager(193):为ActivityRecord {66e1c680 com.Reign.WaterDemo_Android / waterdemo_android.Activity1} d / dalvikvm活动暂停超时(193 ):GC_CONCURRENT释放12K,免费15%12867K / 14983K,暂停1毫秒+ 3ms的

Answer 1:

谷歌电视不支持NDK,所以MonoDroid的Java框架无法加载libmonodroid.so库。 没有的ABI将在这段时间的工作。

还有一个特点,要求开放为谷歌电视上NDK支持:

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



Answer 2:

这是一个已知的问题,从而影响单在所有x86模拟器Android应用,并为此修复将被包括在Mono for Android提供的下一个版本。 这是在谷歌86 NDK这是所谓修正了一个错误(但,事实证明,它不是),所以我们不得不做一些变通。 调试版本的您的应用程序应该正常工作,这只会影响发布版本。



文章来源: Can't get MonoDroid 4.0.6 x86 Emulation or GoogleTV to work