0

Visual Studio 2010 和 Mono for Android

开发单声道机器人 apk 的软件。最初它创建一个项目单击按钮,它可以成功运行

模拟器,我尝试将其安装在 android 手机(三星 Galaxy y)上

我在我的项目中搜索(.apk 文件),它会找到它

bin/debug/filname.apk.here 在这个 bin 文件夹中我有 2 个 apk 文件

文件名.apk 和文件名.签名.apk。我将两个 apk 文件都复制到了我的手机上

并尝试安装文件 name.apk 但安装失败并尝试

install filename.signed.apk 它将成功安装,但是当我尝试时

在手机上打开它会自动强制关闭。

在模拟器上,我的应用程序工作正常,并且与 2010 相比,创建两个 .apk 文件 1 是 EventRegistraionApp-Signed.apk ,另一个是 EventRegistraionApp-Signed.apk ,仅安装了 EventRegistraionApp-Signed.apk 并且它也成功安装在设备上,但它给出了异常如下图所示:-

 09-23 06:59:38.388: E/AndroidRuntime(863): FATAL EXCEPTION: main 
 09-23 06:59:38.388: E/AndroidRuntime(863): java.lang.RuntimeException: Unable to get provider mono.MonoRuntimeProvider: java.lang.RuntimeException: Unable to find application Mono.Android.DebugRuntime or Mono.Android.Platform.ApiLevel_8! 
 09-23 06:59:38.388: E/AndroidRuntime(863): at android.app.ActivityThread.installProvider(ActivityThread.java:4882)
 09-23 06:59:38.388: E/AndroidRuntime(863): at android.app.ActivityThread.installContentProviders(ActivityThread.java:4485) 
 09-23 06:59:38.388: E/AndroidRuntime(863): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4425) 
 09-23 06:59:38.388: E/AndroidRuntime(863): at android.app.ActivityThread.access$1300(ActivityThread.java:141) 
 09-23 06:59:38.388: E/AndroidRuntime(863): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316) 
 09-23 06:59:38.388: E/AndroidRuntime(863): at android.os.Handler.dispatchMessage(Handler.java:99) 
 09-23 06:59:38.388: E/AndroidRuntime(863): at android.os.Looper.loop(Looper.java:137) 
 09-23 06:59:38.388: E/AndroidRuntime(863): at android.app.ActivityThread.main(ActivityThread.java:5103) 
 09-23 06:59:38.388: E/AndroidRuntime(863): at java.lang.reflect.Method.invokeNative(Native Method) 
 09-23 06:59:38.388: E/AndroidRuntime(863): at java.lang.reflect.Method.invoke(Method.java:525) 
 09-23 06:59:38.388: E/AndroidRuntime(863): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
 09-23 06:59:38.388: E/AndroidRuntime(863): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
 09-23 06:59:38.388: E/AndroidRuntime(863): at dalvik.system.NativeStart.main(Native Method) 
 09-23 06:59:38.388: E/AndroidRuntime(863): Caused by: java.lang.RuntimeException: Unable to find application Mono.Android.DebugRuntime or Mono.Android.Platform.ApiLevel_8! 
 09-23 06:59:38.388: E/AndroidRuntime(863): at mono.MonoRuntimeProvider.attachInfo(MonoRuntimeProvider.java:30) 
 09-23 06:59:38.388: E/AndroidRuntime(863): at android.app.ActivityThread.installProvider(ActivityThread.java:4879)
 09-23 06:59:38.388: E/AndroidRuntime(863): ... 12 more 
 09-23 06:59:38.388: E/AndroidRuntime(863): Caused by: android.content.pm.PackageManager$NameNotFoundException: Mono.Android.DebugRuntime 
 09-23 06:59:38.388: E/AndroidRuntime(863): at android.app.ApplicationPackageManager.getApplicationInfo(ApplicationPackageManager.java:226) 
 09-23 06:59:38.388: E/AndroidRuntime(863): at mono.MonoRuntimeProvider.attachInfo(MonoRuntimeProvider.java:21) 
 09-23 06:59:38.388: E/AndroidRuntime(863): ... 13 more

我的问题是,在将 apk 安装到设备后,它会抛出无法找到应用程序 Mono.Android.DebugRuntime 或 Mono.Android.Platform.ApiLevel_8 的异常!但在模拟器上它工作正常

我正在使用未显示评估版本的 monodroid 4.2.5

4

1 回答 1

1

您使用的是非常旧的 Xamarin.Android 版本,我建议您对其进行更新,否则您将度过一段糟糕的时光。话虽如此,您正在以错误的方式将应用程序部署到您的设备。

如果没有安装单声道运行时,则无法获取在调试模式下创建的 .apk 文件并将其放在手机上,部署过程会在 Visual Studio 中为您执行此操作。因此,您需要从文件夹中获取 .apk 文件并手动将其安装在设备上,您需要在 Visual Studio 中按部署或运行​​并选择您的设备。或者,您可以在发布模式下创建 .apk 文件,该文件将在 .apk 文件中包含所需的单声道内容,但是这样您将无法很好地调试应用程序。

为了让您的设备显示在选择框中,需要为开发做好准备,您可以在此处阅读更多信息:http: //docs.xamarin.com/guides/android/getting_started/installation/set_up_device_for_development

于 2013-10-08T08:15:02.117 回答