Ошибка доступа к классу PeripheralManager в Xamarin.Android

avatar
Selvaganesan Saminathan
3 января 2020 в 10:36
393
1
0

При попытке получить класс PeripheralManager в приложении Xamarin возникла следующая ошибка.

Целевой API: 29

Журналы ошибок:

Трассировка стека Java.Lang.RuntimeException --- java.lang.RuntimeException: Стаб! в com.google.android.things.pio.PeripheralManager.getInstance(PeripheralManager.java:21) в crc64ee486da937c010f4.ButtonRenderer.n_onClick(собственный метод) в crc64ee486da937c010f4.ButtonRenderer.onClick(ButtonRenderer.java:95) в android.view.View.performClick(View.java:6294) в android.view.View$PerformClick.run(View.java:24774) в android.os.Handler.handleCallback(Handler.java:790) в android.os.Handler.dispatchMessage(Handler.java:99) в android.os.Looper.loop(Looper.java:164) в android.app.ActivityThread.main(ActivityThread.java:6518) в java.lang.reflect.Method.invoke (собственный метод) в com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Примечание: 1. Создан собственный проект библиотеки Android с API AdnroidThings (PerpheralManager) и сгенерирован файл библиотеки Android. 2. Этот файл добавлен в проект Xamarin для доступа к классу PerpheralManager

.
Источник
FreakyAli
3 января 2020 в 10:40
2

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

Selvaganesan Saminathan
4 января 2020 в 14:17
0

Спасибо @FreakyAli. Примечание. 1. Создан собственный проект библиотеки Android с API AdnroidThings (целевая версия 29) (PerpheralManager) и создан файл библиотеки Android. 2. Добавлен этот файл .jar или .aar в проект Xamarin для доступа к классу PerpheralManager.

Onik
5 января 2020 в 08:16
0

Какое оборудование вы используете?

Selvaganesan Saminathan
6 января 2020 в 11:32
0

Это GPS-приемник с последовательным портом связи.

Ответы (1)

avatar
Nick Felker
6 января 2020 в 18:22
0

Я не эксперт по системе компиляции Xamarin, но вы должны убедиться, что ваш манифест Android правильно включает тег uses-library для извлечения логики библиотеки.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.app">

    <application
        android:label="@string/app_name">
        <uses-library android:name="com.google.android.things"/>

        <activity android:name=".MainActivity"
            android:theme="@android:style/Theme.Material.Light.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>