0

Android を対象とする Xamarin Forms アプリケーションのデバッグ (または実行) 中にブロックの問題に直面しています。

このソリューションには、Java JAR コンポーネントをラップする Android Bindings Library プロジェクトが含まれています。このコンポーネントは、ロジスティクス用の Bluetooth スキャナー デバイス (Avery Dennison Pathfinder) に接続することを目的としたサード パーティ SDK の一部です。

現在、デバイスへの Bluetooth 接続を実行するメソッドを呼び出すときに問題に直面しています。物理デバイスでのデバッグ中に、デバッガーが停止し、デバイス上のアプリケーションがクラッシュし、例外がスローされません。

完全を期すために、このjarはコンパイル済みのバイナリ「libcompanion-api.so」も参照しています。これは、AndroidプロジェクトにAndroidNativeLibraryとして相対フォルダーlib/armeabi-v7aおよびlib/arm64-v8aに含まれています。

Xamarin ソリューションで JAR ライブラリを使用するプロジェクトで同様のことを経験した人はいますか? Xamarin で Avery Dennison デバイスを使用した経験のある人はいますか?

Android 7.1.1 を搭載した Honeywell デバイス モデル EDA50-011 に展開しています。同じデバイスで、SDK に含まれるネイティブ Android アプリが完全に動作します。

これらの機能を xamarin に移植しようとしています。

これが私たちのプロジェクト構造です:

これは、Visual Studio 2019 に関する私たちのプロジェクトです。

ここにログがあります(adb logcat)

08-04 17:30:47.810 7579 7579 W System.err: SLF4J: クラス "org.slf4j.impl.StaticLoggerBinder" のロードに失敗しました。
08-04 17:30:47.810 7579 7579 W System.err: SLF4J: 無操作 (NOP) ロガー実装のデフォルト
08-04 17:30:47.810 7579 7579 W System.err: SLF4J: 詳細については、http://www.slf4j.org/codes.html#StaticLoggerBinder を参照してください。
08-04 17:30:47.828 1807 1957 D BluetoothManagerService: メッセージ: 20
08-04 17:30:47.829 1807 1957 D BluetoothManagerService: 追加されたコールバック: android.bluetooth.IBluetoothManagerCallback$Stub$Proxy@6b28298:true
08-04 17:30:47.831 7579 7579 I CompanionAPI: これは 0x8f805e00、mp_DataAvailableKey は 0x8f284f0c、ip_DataAvailableKey は 0x8f284f0c、mpDataRead は 0x8f284f1d、ipDataRead は 0x8f284f1d です。
08-04 17:30:47.834 7579 7615 W: スレッド 0x8edcc920 が途中でファイナライズされた可能性があります
08-04 17:30:47.834 7579 7615 E : * /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mono/utils/mono-threads.c:650 でのアサーション、条件 ` info' が満たされていない, function:mono_thread_info_current,
08-04 17:30:47.834 7579 7615 F libc: 致命的なシグナル 6 (SIGABRT)、tid 7615 のコード -6 (スレッド 4)
08-04 17:30:47.835 236 236 W: debuggerd: 処理要求: pid=7579 uid=10142 gid=10142 tid=7615
08-04 17:30:47.916 7616 7616 F デバッグ: *** *** *** *** *** *** *** *** *** *** *** * ** *** *** ***
08-04 17:30:47.916 7616 7616 F DEBUG: フィンガープリントの作成: 'Honeywell/eda50/eda50-011:7.1.1/NMF26F/207.01.00.0016:user/release-keys'
08-04 17:30:47.916 7616 7616 F デバッグ: リビジョン: '0'
08-04 17:30:47.916 7616 7616 F DEBUG: ABI: 'アーム'
08-04 17:30:47.916 7616 7616 F デバッグ: pid: 7579、tid: 7615、名前: スレッド 4 com.companyname.priceretriever_assess
08-04 17:30:47.916 7616 7616 F DEBUG: シグナル 6 (SIGABRT)、コード -6 (SI_TKILL)、障害アドレス --------
08-04 17:30:47.916 7616 7616 F デバッグ: r0 00000000 r1 00001dbf r2 00000006 r3 00000008
08-04 17:30:47.916 7616 7616 F デバッグ: r4 8edcc978 r5 00000006 r6 8edcc920 r7 0000010c
08-04 17:30:47.916 7616 7616 F デバッグ: r8 8f805f00 r9 8edcb9f8 sl b01bc008 fp 8edcb500
08-04 17:30:47.916 7616 7616 F デバッグ: ip 00000000 sp 8edcb490 lr b017a4f7 pc b017cd78 cpsr 200d0010
08-04 17:30:47.929 7616 7616 F デバッグ:
08-04 17:30:47.929 7616 7616 F デバッグ: バックトレース:
08-04 17:30:47.929 7616 7616 F デバッグ: #00 pc 00049d78 /system/lib/libc.so (tgkill+12)
08-04 17:30:47.930 7616 7616 F デバッグ: #01 pc 000474f3 /system/lib/libc.so (pthread_kill+34)
08-04 17:30:47.930 7616 7616 F DEBUG : #02 pc 0001d745 /system/lib/libc.so (raise+10)
08-04 17:30:47.930 7616 7616 F デバッグ: #03 pc 00019281 /system/lib/libc.so (__libc_android_abort+34)
08-04 17:30:47.930 7616 7616 F デバッグ: #04 pc 000172e8 /system/lib/libc.so (中止 + 4)
08-04 17:30:47.931 7616 7616 F DEBUG : #05 pc 0001d9f7 /data/app/com.companyname.priceretriever_assess-1/lib/arm/libmonodroid.so (_ZN7xamarin7android8internal16MonodroidRuntime16mono_log_handlerEPKcS4_S4_iPv+66)
08-04 17:30:47.932 7616 7616 F DEBUG : #06 pc 002c19ec /data/app/com.companyname.priceretriever_assess-1/lib/arm/libmonosgen-2.0.so (eglib_log_adapter+276)
08-04 17:30:47.935 2289 2289 D wpa_supplicant: wlan0: コントロール インターフェイス コマンド 'SIGNAL_POLL'
08-04 17:30:47.946 2289 2289 D wpa_supplicant: CTRL-DEBUG: global_ctrl_sock-sendto: sock=8 sndbuf=163840 outq=0 send_len=48
08-04 17:30:48.233 1807 1954 I BootReceiver: /data/tombstones/tombstone_00 を DropBox (SYSTEM_TOMBSTONE) にコピーしています
08-04 17:30:48.242 236 236 W: debuggerd: ターゲット 7579 の再開
08-04 17:30:48.243 1807 7617 W ActivityManager: 強制終了アクティビティ com.companyname.priceretriever_assess/crc64a1b8bf213c986bea.MainActivity
08-04 17:30:48.249 1807 7617 D ActivityTrigger: ActivityTrigger activityPauseTrigger
08-04 17:30:48.250 1807 7617 W ActivityManager: 強制終了アクティビティ com.companyname.priceretriever_assess/crc64a1b8bf213c986bea.MainActivity
08-04 17:30:48.250 1807 7617 W ActivityManager: ActivityRecord {d42e049 u0 com.companyname.priceretriever_assess/crc64a1b8bf213c986bea.MainActivity t707 f} の重複終了要求
08-04 17:30:48.256 1807 1899 V BoostFramework: BoostFramework() : mPerf = com.qualcomm.qti.Performance@2c1ca62
08-04 17:30:48.256 1807 1899 V BoostFramework: BoostFramework() : mPerf = com.qualcomm.qti.Performance@1f937f3
08-04 17:30:48.259 1807 1899 V BoostFramework: BoostFramework() : mPerf = com.qualcomm.qti.Performance@c823729
08-04 17:30:48.259 1807 1899 V BoostFramework: BoostFramework() : mPerf = com.qualcomm.qti.Performance@2f62aae
08-04 17:30:48.302 1807 10056 I OpenGLRenderer: 初期化された EGL、バージョン 1.4
08-04 17:30:48.302 1807 10056 D OpenGLRenderer: スワップ動作 1
08-04 17:30:48.334 1807 2970 I ActivityManager: プロセス com.companyname.priceretriever_assess (pid 7579) が停止しました
08-04 17:30:48.334 1807 2970 D ActivityManager: cleanUpApplicationRecord -- 7579
08-04 17:30:48.334 309 309 I Zygote : シグナルによりプロセス 7579 が終了しました (6)
08-04 17:30:49.480 7628 7628 D AndroidRuntime: START com.android.internal.os.RuntimeInit uid 2000
08-04 17:30:49.487 7628 7628 D AndroidRuntime: CheckJNI がオフです
08-04 17:30:49.573 7628 7628 W メイン: type=1400 監査 (0.0:3646): avc: 拒否された { read } for name="name" dev="sysfs" ino=10676 scontext=u:r:shell :s0 tcontext=u:object_r:sysfs:s0 tclass=ファイル許可=0
08-04 17:30:49.585 7628 7628 I libmdmdetect: ESOC フレームワークはサポートされていません
08-04 17:30:49.585 7628 7628 E libmdmdetect: /sys/bus/msm_subsys/devices/subsys0/name を開くことができませんでした: アクセス許可が拒否されました
08-04 17:30:49.604 7628 7628 D ICU: タイムゾーンオーバーライドファイルが見つかりません: /data/misc/zoneinfo/current/icu/icu_tzdata.dat
08-04 17:30:49.623 7628 7628 W メイン: type=1400 audit(0.0:3647): avc: 拒否された { read } for name="u:object_r:honeywell_prop:s0" dev="tmpfs" ino=7209 scontext =u:r:shell:s0 tcontext=u:object_r:honeywell_prop:s0 tclass=file permissive=0
08-04 17:30:49.633 7628 7628 E libc: プロパティ「ro.hsm.gms」の検索でアクセスが拒否されました
08-04 17:30:49.651 7628 7628 I ラジオ JNI: register_android_hardware_Radio 完了
08-04 17:30:49.675 7628 7628 D AndroidRuntime: メイン エントリ com.android.commands.am.Am の呼び出し
08-04 17:30:49.694 1807 2894 I ActivityManager: 強制停止 com.companyname.priceretriever_assess appid=10142 ユーザー=0: pid 7628 から
08-04 17:30:49.700 7628 7628 D AndroidRuntime: VM をシャットダウンしています

私たちのコードはとてもシンプルです:

String deviceSerial = "6140 13081507";
String deviceAddress = "00:07:80:6E:50:92";
String deviceInfo = "6140 13081507 00:07:80:6E:50:92";

DeviceConnectionInfo ConnectionInfo = new DeviceConnectionInfo(deviceSerial, deviceAddress, Avd.Api.Core.ConnectionType.Bluetooth);

try {
   DeviceManager deviceManager = new DeviceManager();
   var devices = deviceManager.GetAvailableDevices(ConnectionType.Bluetooth, 5000);
   IDevice device = deviceManager.CreateDevice(ConnectionInfo);
}
catch (Exception ex) {
   throw ex;
}

deviceManager.CreateDevice(ConnectionInfo) をステップオーバーすると、アプリケーションがクラッシュします。

私たちを助けてください、私たちは何日もこのブロック状況に陥っています。ありがとう

4

0 に答える 0