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 に移植しようとしています。
これが私たちのプロジェクト構造です:
ここにログがあります(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) をステップオーバーすると、アプリケーションがクラッシュします。
私たちを助けてください、私たちは何日もこのブロック状況に陥っています。ありがとう