Интеграция SDK Data Logic вызывает ошибку Java.Lang.NoClassDefFoundError

Я новичок в Xamarin Forms, и я пытаюсь создать простое приложение, которое сканировать штрих-код использует Datalogic Sdk. В этом примере они использовали собственный Xamarin для Android, и когда я его запускаю, все работает. Но когда я пытаюсь сделать это в пользовательском приложении Xamarin Forms

namespace my_project.Droid
{
    [Activity(Label = "my_project", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
    public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity, IReadListener
    {
        public event EventHandler<ScanEventArgs> OnScan;

        protected override void OnCreate(Bundle savedInstanceState)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource = Resource.Layout.Toolbar;

            base.OnCreate(savedInstanceState);
            Xamarin.Forms.Forms.Init(this, savedInstanceState);
            LoadApplication(new App());
        }

        public void OnRead(IDecodeResult p0)
        {
            Console.WriteLine(p0.BarcodeID);
            Console.WriteLine(p0.Text);
        }
    }
}

он вылетает с этим сообщением:

Java.Lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.companyname/md5eedca812c943a42a1dd347cfedc77c45.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "md5eedca812c943a42a1dd347cfedc77c45.MainActivity" on path: DexPathList[[zip file "/data/app/com.companyname-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.companyname-1, /vendor/lib, /system/lib]]

Я думал, что это была причина Activity, реализующей интерфейс, поэтому я пытаюсь отделить слушателя от действия, как в этом пример

public class ReadListener : Java.Lang.Object, IReadListener
{
    public void OnRead(IDecodeResult decodeResult)
    {
        Log.Debug("", "Text: " + decodeResult.Text + " barcodeID " + decodeResult.BarcodeID);
    }
}

Но все равно не получалось: Интеграция SDK Data Logic вызывает ошибку Java.Lang.NoClassDefFoundError

Если у кого-то есть идеи о том, как решить одно из этого исключения или просто другой способ интеграции этого SDK в приложение Xamarin Forms?

Спасибо.

вы делаете какой-либо ввод вручную в файл манифеста?

Harsh Chaurasia 17.10.2018 07:15

если да, то посетите stackoverflow.com/questions/39081925/…

Harsh Chaurasia 17.10.2018 07:15

Внесены необходимые изменения в ваш вопрос, потому что сейчас ответ на ваш вопрос вводит в заблуждение.Я предлагаю вам также добавить трассировку стека, так как это может помочь понять и определить проблему.

FreakyAli 17.10.2018 08:59

Вы добавили <uses-library android:name = "com.datalogic.device" android:required = "true" />, как сказано в руководство?

Billy Liu - MSFT 18.10.2018 11:59

Вот это было! Спасибо! Я не проверял часть быстрого запуска, только учебник ... Хотел бы я подтвердить это как ответ, но это комментарий, извините.

vmagrez 18.10.2018 16:07

@vmagrez Я отвечу на ответ, помогите, пожалуйста, отметить это.

Billy Liu - MSFT 19.10.2018 03:29
0
6
297
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Пожалуйста, добавьте <uses-library android:name = "com.datalogic.device" android:required = "true" /> в файл манифеста, как указано в руководство.

Другие вопросы по теме