monodroid应用程序没有在设备上运行

时间:2013-10-08 07:34:50

标签: xamarin.android

visual studio 2010和mono for android

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

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

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

上找到它

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

filename.apk和filename.signed.apk。我将两个apk文件复制到我的手机

并尝试安装文件name.apk但无法安装并尝试

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

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

在模拟器上我的应用程序工作正常,而且vs 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

1 个答案:

答案 0 :(得分: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