Android上的ZXing.Net.Mobile - 资源NotFoundException

时间:2015-06-16 05:42:33

标签: android xamarin zxing

我正在尝试为Android实施ZXing.Net.Mobile并出现运行时错误。

        MobileBarcodeScanner scanner = new MobileBarcodeScanner(_activity);
        ZXing.Result result = await scanner.Scan(); // crashes here
        HandleZXingResult(result);

我将Xamarin用于Visual Studio。

问题似乎是缺少资源以及何时尝试SetContentView(layout)。我只是使用ZXing Dlls。不确定在哪里包含资源。

堆栈追踪:

06-16 01:03:44.353 I/MonoDroid( 7783): UNHANDLED EXCEPTION:
06-16 01:03:44.413 I/MonoDroid( 7783): Android.Content.Res.Resources+NotFoundException: Exception of type 'Android.Content.Res.Resources+NotFoundException' was thrown.
06-16 01:03:44.413 I/MonoDroid( 7783): at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () 
06-16 01:03:44.413 I/MonoDroid( 7783): at Android.Runtime.JNIEnv.CallNonvirtualVoidMethod (intptr,intptr,intptr,Android.Runtime.JValue[]) [0x00084] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/ba9bbbdd/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:896
06-16 01:03:44.413 I/MonoDroid( 7783): at Android.App.Activity.SetContentView (int) [0x00070] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/ba9bbbdd/source/monodroid/src/Mono.Android/platforms/android-8/src/generated/Android.App.Activity.cs:3244
android.content.res.Resources$NotFoundException: File res/drawable-hdpi-v4/icon.png from xml type layout resource ID #0x7f020000
    at android.content.res.Resources.loadXmlResourceParser(Resources.java:3733)
    at android.content.res.Resources.loadXmlResourceParser(Resources.java:3680)
    at android.content.res.Resources.getLayout(Resources.java:2166)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:366)
    at android.app.Activity.setContentView(Activity.java:2031)
    at zxing.mobile.ZxingActivity.n_onCreate(Native Method)
    at zxing.mobile.ZxingActivity.onCreate(ZxingActivity.java:31)
    at android.app.Activity.performCreate(Activity.java:5451)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377)
    at android.app

2 个答案:

答案 0 :(得分:0)

不要使用nuget for android,尝试从Xamarin Component Store安装组件。它对我有用。

答案 1 :(得分:0)

我遇到了这个问题,因为zxing nuget包是在依赖程序集(我们自己的条形码插件程序集抽象)中引用的,但不在父app程序集中引用。 在两个项目中引用了包,然后运行正常。