Я упоминал об этой проблеме в Github-проблемах, в Stripe-Terminal-репозитории.
Я использую BBPOS-Chipper 2x Device, хотел подключиться к Android-приложению (предоставляется stipe-Terminal-Androidrepo).
Я установил демо-клиент на Android-устройство, хотел подключиться к ридеру. из примеров, приведенных Stripe-team здесь , я следовал за упомянутыми шагами следующим образом.
1) Разверните наш пример бэкэнда - я создал python-сервер вOdoo-ERP-12.
создал маршрут как connection_token, работающий на localhost: port,
class TokenClass(http.Controller):
@http.route(['/connection_token'], type='json', auth="public")
def get_stripe_terminal_token(self, **post):
# server-side code
stripe.api_key = "sk_test_encrypted_key_can't_show"
response_create_token = stripe.terminal.ConnectionToken.create()
print("response_create_token = ", response_create_token)
return response_create_token
, когда я пытаюсь это сделать с помощью почтальона, он работает и возвращает response_create_token.
2) Запустите пример приложения
добавлен URL-адрес сервера как
3) Подключитесь к симулятору чтения , поскольку я не могуподключиться к физическому ридеру, я попытался подключить симулированный ридер.
, и здесь я сталкиваюсь с ошибкой.
У меня есть приложение, связанное с заданным backend-url и установленное на моем физическом телефоне Android, но я не могу 'Не удается подключиться к физическому устройству, хотя оно появляется после нажатия Discover Reader
-> щелчок по идентификатору устройства -> оно попыталось подключиться, но не удалось и вернулось на тот же экран, что и домашний экран.
Мои журналы выглядят следующим образом:
![Screenshot from 2019-10-31 17-41-38](https://user-images.githubusercontent.com/54972604/67945755-b4ced280-fc05-11e9-8e17-15d32ce925a6.png)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6806)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
2019-10-31 17:36:59.339 24668-24668/com.stripe.example.javaapp D/StrictMode: StrictMode policy violation; ~duration=121 ms: android.os.strictmode.DiskReadViolation
at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1504)
at android.app.SharedPreferencesImpl.awaitLoadedLocked(SharedPreferencesImpl.java:256)
at android.app.SharedPreferencesImpl.getBoolean(SharedPreferencesImpl.java:325)
at com.stripe.example.javaapp.fragment.TerminalFragment.onCreate(TerminalFragment.java:46)
at androidx.fragment.app.Fragment.performCreate(Fragment.java:2586)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:838)
at androidx.fragment.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1197)
at androidx.fragment.app.FragmentTransition.calculateFragments(FragmentTransition.java:1080)
at androidx.fragment.app.FragmentTransition.startTransitions(FragmentTransition.java:119)
at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1866)
at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824)
at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2663)
at androidx.fragment.app.FragmentManagerImpl.dispatchResume(FragmentManagerImpl.java:2625)
at androidx.fragment.app.FragmentController.dispatchResume(FragmentController.java:268)
at androidx.fragment.app.FragmentActivity.onResumeFragments(FragmentActivity.java:479)
at androidx.fragment.app.FragmentActivity.onPostResume(FragmentActivity.java:468)
at androidx.appcompat.app.AppCompatActivity.onPostResume(AppCompatActivity.java:195)
at android.app.Activity.performResume(Activity.java:7430)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3816)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3856)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6806)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
2019-10-31 17:36:59.367 24668-24801/com.stripe.example.javaapp D/libEGL: eglInitialize: enter
2019-10-31 17:36:59.367 24668-24801/com.stripe.example.javaapp I/Adreno: QUALCOMM build : 791494e, Id7006ec082
Build Date : 12/09/18
OpenGL ES Shader Compiler Version: EV031.24.02.00
Local Branch :
Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.UM.7.3.R1.09.00.00.423.045
Remote Branch : NONE
Reconstruct Branch : NOTHING
2019-10-31 17:36:59.367 24668-24801/com.stripe.example.javaapp I/Adreno: Build Config : S P 6.0.7 AArch64
2019-10-31 17:36:59.356 24668-24668/com.stripe.example.javaapp W/RenderThread: type=1400 audit(0.0:2912): avc: denied { search } for name="proc" dev="debugfs" ino=15061 scontext=u:r:untrusted_app:s0:c214,c256,c512,c768 tcontext=u:object_r:qti_debugfs:s0 tclass=dir permissive=0
2019-10-31 17:36:59.369 24668-24801/com.stripe.example.javaapp I/Adreno: PFP: 0x016ee180, ME: 0x00000000
2019-10-31 17:36:59.356 24668-24668/com.stripe.example.javaapp W/RenderThread: type=1400 audit(0.0:2913): avc: denied { search } for name="ctx" dev="debugfs" ino=15090 scontext=u:r:untrusted_app:s0:c214,c256,c512,c768 tcontext=u:object_r:qti_debugfs:s0 tclass=dir permissive=0
2019-10-31 17:36:59.372 24668-24801/com.stripe.example.javaapp I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
2019-10-31 17:36:59.372 24668-24801/com.stripe.example.javaapp I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0
2019-10-31 17:36:59.372 24668-24801/com.stripe.example.javaapp D/libEGL: eglInitialize: exit(res=1)
2019-10-31 17:36:59.372 24668-24801/com.stripe.example.javaapp I/OpenGLRenderer: Initialized EGL, version 1.4
2019-10-31 17:36:59.372 24668-24801/com.stripe.example.javaapp D/OpenGLRenderer: Swap behavior 2
2019-10-31 17:36:59.366 24668-24668/com.stripe.example.javaapp W/RenderThread: type=1400 audit(0.0:2914): avc: denied { search } for name="ctx" dev="debugfs" ino=15090 scontext=u:r:untrusted_app:s0:c214,c256,c512,c768 tcontext=u:object_r:qti_debugfs:s0 tclass=dir permissive=0
2019-10-31 17:36:59.446 24668-24801/com.stripe.example.javaapp E/LB: fail to open file: No such file or directory
2019-10-31 17:37:06.854 24668-24781/com.stripe.example.javaapp I/example.javaap: ProcessProfilingInfo new_methods=3482 is saved saved_to_disk=1 resolve_classes_delay=8000
2019-10-31 17:37:06.934 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=Terminal message=discoverReaders
2019-10-31 17:37:06.941 24668-24668/com.stripe.example.javaapp D/LeakCanary: Watching instance of androidx.constraintlayout.widget.ConstraintLayout with key d5987f8e-6735-45d6-bafb-3b4664621210
2019-10-31 17:37:06.946 24668-24668/com.stripe.example.javaapp D/LeakCanary: Watching instance of com.stripe.example.javaapp.fragment.TerminalFragment with key 44046d24-f3bb-440b-b42d-e3d1564b4792
2019-10-31 17:37:06.987 24668-24819/com.stripe.example.javaapp W/example.javaap: Accessing hidden field Lsun/misc/Unsafe;->theUnsafe:Lsun/misc/Unsafe; (light greylist, reflection)
2019-10-31 17:37:06.992 24668-24819/com.stripe.example.javaapp D/StripeTerminal: class=BbposBluetoothAdapter message=discoverReaders
2019-10-31 17:37:06.999 24668-24819/com.stripe.example.javaapp D/BluetoothAdapter: isLeEnabled(): ON
2019-10-31 17:37:07.001 24668-24694/com.stripe.example.javaapp D/BluetoothLeScanner: onScannerRegistered() - status=0 scannerId=8 mScannerId=0
2019-10-31 17:37:12.007 24668-24787/com.stripe.example.javaapp D/LeakCanary: Checking retained object because found new object retained
2019-10-31 17:37:12.025 24668-24787/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 13030(986KB) AllocSpace objects, 21(420KB) LOS objects, 49% free, 3MB/6MB, paused 33us total 17.944ms
2019-10-31 17:37:12.130 24668-24787/com.stripe.example.javaapp D/LeakCanary: No retained objects
2019-10-31 17:37:12.132 24668-24787/com.stripe.example.javaapp D/LeakCanary: Checking retained object because found new object retained
2019-10-31 17:37:12.132 24668-24787/com.stripe.example.javaapp D/LeakCanary: No retained objects
2019-10-31 17:37:17.596 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=Terminal message=connectReader serial_number=CHB204909002990
2019-10-31 17:37:17.597 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceController message=stopBLEScan
2019-10-31 17:37:17.598 24668-24668/com.stripe.example.javaapp D/BluetoothAdapter: isLeEnabled(): ON
2019-10-31 17:37:17.613 24668-24819/com.stripe.example.javaapp D/StripeTerminal: class=BbposBluetoothAdapter message=connectReader
2019-10-31 17:37:17.613 24668-24819/com.stripe.example.javaapp D/StripeTerminal: class=TerminalListenerProxy message=onConnectionStatusChange(CONNECTING)
2019-10-31 17:37:17.613 24668-24819/com.stripe.example.javaapp I/ConnectionStatusChange: CONNECTING
2019-10-31 17:37:17.615 24668-24819/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceController message=connectBT(CHB204909002990)
2019-10-31 17:37:17.628 24668-24819/com.stripe.example.javaapp D/BluetoothGatt: connect() - device: 2F:24:66:C2:B6:51, auto: false
2019-10-31 17:37:17.628 24668-24819/com.stripe.example.javaapp D/BluetoothGatt: registerApp()
2019-10-31 17:37:17.628 24668-24819/com.stripe.example.javaapp D/BluetoothGatt: registerApp() - UUID=6b0743d3-4dcf-4dbf-94a0-3936cb31de6e
2019-10-31 17:37:17.629 24668-24694/com.stripe.example.javaapp D/BluetoothGatt: onClientRegistered() - status=0 clientIf=8
2019-10-31 17:37:18.713 24668-24694/com.stripe.example.javaapp D/BluetoothGatt: onClientConnectionState() - status=0 clientIf=8 device=2F:24:66:C2:B6:51
2019-10-31 17:37:18.714 24668-24694/com.stripe.example.javaapp D/BluetoothGatt: discoverServices() - device: 2F:24:66:C2:B6:51
2019-10-31 17:37:19.156 24668-24694/com.stripe.example.javaapp D/BluetoothGatt: onConnectionUpdated() - Device=2F:24:66:C2:B6:51 interval=6 latency=0 timeout=500 status=0
2019-10-31 17:37:19.270 24668-24694/com.stripe.example.javaapp D/BluetoothGatt: onSearchComplete() = Device=2F:24:66:C2:B6:51 Status=0
2019-10-31 17:37:19.271 24668-24694/com.stripe.example.javaapp D/BluetoothGatt: setCharacteristicNotification() - uuid: 0000ffa1-0000-1000-8000-00805f9b34fb enable: true
2019-10-31 17:37:19.333 24668-24694/com.stripe.example.javaapp D/BluetoothGatt: onConnectionUpdated() - Device=2F:24:66:C2:B6:51 interval=36 latency=0 timeout=500 status=0
2019-10-31 17:37:19.776 24668-24668/com.stripe.example.javaapp D/AudioManager: getStreamVolume isRestricted mode = 0
2019-10-31 17:37:19.901 24668-24842/com.stripe.example.javaapp D/BluetoothGatt: configureMTU() - device: 2F:24:66:C2:B6:51 mtu: 132
2019-10-31 17:37:19.923 24668-24844/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 3921(313KB) AllocSpace objects, 0(0B) LOS objects, 50% free, 3MB/6MB, paused 81us total 48.123ms
2019-10-31 17:37:19.965 24668-24840/com.stripe.example.javaapp D/BluetoothGatt: onConfigureMTU() - Device=2F:24:66:C2:B6:51 mtu=132 status=0
2019-10-31 17:37:19.971 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceControllerListener message=onBTConnected(CHB204909002990)
2019-10-31 17:37:19.972 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceController message=getDeviceInfo
2019-10-31 17:37:20.033 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 513(95KB) AllocSpace objects, 0(0B) LOS objects, 50% free, 3MB/6MB, paused 1.133ms total 60.700ms
2019-10-31 17:37:20.073 24668-24842/com.stripe.example.javaapp I/example.javaap: Waiting for a blocking GC Explicit
2019-10-31 17:37:20.100 24668-24843/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 294(101KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 70us total 43.071ms
2019-10-31 17:37:20.100 24668-24842/com.stripe.example.javaapp I/example.javaap: WaitForGcToComplete blocked Explicit on HeapTrim for 27.202ms
2019-10-31 17:37:20.128 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 27(47KB) AllocSpace objects, 0(0B) LOS objects, 50% free, 3MB/6MB, paused 40us total 27.659ms
2019-10-31 17:37:20.150 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 12(31KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 31us total 20.194ms
2019-10-31 17:37:20.167 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 17(47KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 23us total 15.970ms
2019-10-31 17:37:20.232 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 34(47KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 77us total 41.024ms
2019-10-31 17:37:20.345 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 47(63KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 53us total 18.881ms
2019-10-31 17:37:20.361 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 8(32KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 23us total 15.718ms
2019-10-31 17:37:20.379 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 10(31KB) AllocSpace objects, 0(0B) LOS objects, 50% free, 3MB/6MB, paused 23us total 16.111ms
2019-10-31 17:37:20.461 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 24(48KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 69us total 36.040ms
2019-10-31 17:37:20.572 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 28(47KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 83us total 21.329ms
2019-10-31 17:37:20.577 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceControllerListener message="onReturnDeviceInfo([Hashtable: {firmwareVersion, bootloaderVersion, hardwareVersion, pinKsn, trackKsn, macKsn, serialNumber, deviceSettingVersion, uid, productID, isCharging, isSupportedTrack3, isSupportedTrack2, isSupportedTrack1, batteryPercentage, emvKsn, terminalSettingVersion, formatID, vendorID, batteryLevel, bID, productId, isSupportedNfc, isUsbConnected}])"
2019-10-31 17:37:20.579 24668-24668/com.stripe.example.javaapp I/StripeTerminal: class=BbposBluetoothAdapter reader_software_version=1.00.03.34-SZZZ_Generic_v37-30000
2019-10-31 17:37:20.579 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=TerminalListenerProxy message=onConnectionStatusChange(CONNECTED)
2019-10-31 17:37:20.579 24668-24668/com.stripe.example.javaapp I/ConnectionStatusChange: CONNECTED
2019-10-31 17:37:20.580 24668-24819/com.stripe.example.javaapp D/StripeTerminal: class=ConnectionTokenManager message=refreshToken
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap: Rejecting re-init on previously-failed class java.lang.Class<com.stripe.example.javaapp.network.ApiClient>: java.lang.ExceptionInInitializerError:
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap: at java.lang.String com.stripe.example.javaapp.network.ApiClient.createConnectionToken() (ApiClient.java:46)
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap: at void com.stripe.example.javaapp.network.TokenProvider.fetchConnectionToken(com.stripe.stripeterminal.callable.ConnectionTokenCallback) (TokenProvider.java:16)
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap: at void com.stripe.stripeterminal.ConnectionTokenManager$refreshToken$1.run() (ConnectionTokenManager.kt:71)
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap: at java.lang.Object java.util.concurrent.Executors$RunnableAdapter.call() (Executors.java:458)
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap: at void java.util.concurrent.FutureTask.run() (FutureTask.java:266)
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap: at void java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker) (ThreadPoolExecutor.java:1167)
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap: at void java.util.concurrent.ThreadPoolExecutor$Worker.run() (ThreadPoolExecutor.java:641)
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap: at void java.lang.Thread.run() (Thread.java:764)
2019-10-31 17:37:20.583 24668-24819/com.stripe.example.javaapp D/StripeTerminal: class=BbposBluetoothAdapter message=disconnectReader
2019-10-31 17:37:20.583 24668-24819/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceController message=disconnectBT
2019-10-31 17:37:20.594 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 472(45KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 67us total 18.625ms
2019-10-31 17:37:20.689 24668-24840/com.stripe.example.javaapp D/BluetoothGatt: onClientConnectionState() - status=19 clientIf=8 device=2F:24:66:C2:B6:51
2019-10-31 17:37:20.738 24668-24819/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 207(105KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 70us total 45.357ms
2019-10-31 17:37:20.739 24668-24819/com.stripe.example.javaapp D/BluetoothGatt: cancelOpen() - device: 2F:24:66:C2:B6:51
2019-10-31 17:37:20.740 24668-24819/com.stripe.example.javaapp D/BluetoothGatt: cancelOpen() - device: 2F:24:66:C2:B6:51
2019-10-31 17:37:20.740 24668-24840/com.stripe.example.javaapp D/BluetoothGatt: cancelOpen() - device: 2F:24:66:C2:B6:51
2019-10-31 17:37:20.741 24668-24840/com.stripe.example.javaapp D/BluetoothGatt: close()
2019-10-31 17:37:20.741 24668-24840/com.stripe.example.javaapp D/BluetoothGatt: unregisterApp() - mClientIf=8
2019-10-31 17:37:20.743 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceControllerListener message=onBTDisconnected()
2019-10-31 17:37:20.743 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=TerminalListenerProxy message=onConnectionStatusChange(NOT_CONNECTED)
2019-10-31 17:37:20.743 24668-24668/com.stripe.example.javaapp I/ConnectionStatusChange: NOT_CONNECTED
2019-10-31 17:37:20.744 24668-24819/com.stripe.example.javaapp E/StripeTerminal: NETWORK_ERROR.CONNECTION_TOKEN_PROVIDER_ERROR: java.lang.NoClassDefFoundError: com.stripe.example.javaapp.network.ApiClient
com.stripe.stripeterminal.model.external.TerminalException
at com.stripe.stripeterminal.ConnectionTokenManager.waitForToken(ConnectionTokenManager.kt:102)
at com.stripe.stripeterminal.ConnectionTokenManager.getToken(ConnectionTokenManager.kt:49)
at com.stripe.stripeterminal.TerminalSession$ConnectReaderOperation.run$stripeterminal_release(TerminalSession.kt:499)
at com.stripe.stripeterminal.TerminalSession$enqueueOperation$1.run(TerminalSession.kt:208)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
2019-10-31 17:37:20.750 24668-24668/com.stripe.example.javaapp D/LeakCanary: Watching instance of androidx.constraintlayout.widget.ConstraintLayout with key 1074ed5b-ca8a-4e0b-8f55-20fdc493f0b8
2019-10-31 17:37:20.753 24668-24668/com.stripe.example.javaapp D/LeakCanary: Watching instance of com.stripe.example.javaapp.fragment.discovery.DiscoveryFragment with key 281a9e67-0069-4035-b606-6db85c0ad9ef
2019-10-31 17:37:25.756 24668-24668/com.stripe.example.javaapp D/LeakCanary: Already scheduled retained check, ignoring (found new object retained)
2019-10-31 17:37:25.758 24668-24787/com.stripe.example.javaapp D/LeakCanary: Checking retained object because found new object retained
2019-10-31 17:37:25.800 24668-24787/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 5340(377KB) AllocSpace objects, 27(540KB) LOS objects, 50% free, 3MB/6MB, paused 92us total 41.713ms
2019-10-31 17:37:25.904 24668-24787/com.stripe.example.javaapp D/LeakCanary: No retained objects
2019-10-31 17:37:59.205 24668-24796/com.stripe.example.javaapp D/StripeTerminal: class=LogFlusher message="Reporting traces" num_traces=3
2019-10-31 17:38:00.753 24668-24796/com.stripe.example.javaapp D/StripeTerminal: class=LogFlusher message="Sent 3 traces"
2019-10-31 17:38:00.754 24668-24796/com.stripe.example.javaapp D/StripeTerminal: class=LogFlusher message="Reporting events" num_events=3
2019-10-31 17:38:01.460 24668-24796/com.stripe.example.javaapp D/StripeTerminal: class=LogFlusher message="Sent 3 events"
2019-10-31 17:38:17.710 24668-24668/com.stripe.example.javaapp I/StripeTerminal: class=TerminalLifecycleObserver message=applicationDidEnterBackground appId=com.stripe.example.javaapp
2019-10-31 17:38:17.964 24668-24668/com.stripe.example.javaapp W/StripeTerminal: class=TerminalLifecycleObserver message=application
Редактировать:
добавлен URL-адрес сервера, поскольку ранее он был пустой строкой.
Я использую веб-сервер python и подключаюсь к нему с помощью IP-адреса моей машины в той же сети.
public static final String BACKEND_URL = "http://10.45.20.83:8077/connection_token";
Я пытался использовать точку доступа телефона, и она работает в почтальоне, но не в Android-приложении. Я прилагаю скриншоты того же самого.
![screenshot (1)](https://user-images.githubusercontent.com/54972604/68107271-49894700-ff0a-11e9-85d3-a525d34ac05d.png)
GET и POST оба работают в Почтальоне, ожидая того же на Android-приложении.
Когда телефон подключается к устройству Bluetooth, он выдаетошибка в красной линии, как на следующем скриншоте.
![Screenshot from 2019-11-01 17-57-30](https://user-images.githubusercontent.com/54972604/68025352-866af900-fcd2-11e9-9410-881f27149518.png)
c) в createConnectionToken () в ApiClient.java, журналы отладки выглядят следующим образом после выбора устройства.
D/BluetoothGatt: cancelOpen() - device: 2F:24:66:C2:B6:51
D/BluetoothGatt: close()
unregisterApp() - mClientIf=8
D/StripeTerminal: class=BbposDeviceControllerListener message=onBTDisconnected()
D/StripeTerminal: class=TerminalListenerProxy message=onConnectionStatusChange(NOT_CONNECTED)
I/ConnectionStatusChange: NOT_CONNECTED
E/StripeTerminal: NETWORK_ERROR.CONNECTION_TOKEN_PROVIDER_ERROR: java.lang.NoClassDefFoundError: com.stripe.example.javaapp.network.ApiClient
com.stripe.stripeterminal.model.external.TerminalException
at com.stripe.stripeterminal.ConnectionTokenManager.waitForToken(ConnectionTokenManager.kt:102)
at com.stripe.stripeterminal.ConnectionTokenManager.getToken(ConnectionTokenManager.kt:49)
at com.stripe.stripeterminal.TerminalSession$ConnectReaderOperation.run$stripeterminal_release(TerminalSession.kt:499)
at com.stripe.stripeterminal.TerminalSession$enqueueOperation$1.run(TerminalSession.kt:208)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
D/LeakCanary: Watching instance of androidx.constraintlayout.widget.ConstraintLayout with key a11abdb3-1406-41c9-914a-c4928f7e03a6
D/LeakCanary: Watching instance of com.stripe.example.javaapp.fragment.discovery.DiscoveryFragment with key d4e4eff8-2d72-46a0-a5b7-205bf0b2da3d
I/Choreographer: Skipped 139 frames! The application may be doing too much work on its main thread.
W/Looper: Slow Looper: doFrame is 2325ms late because of 2 msg, msg 1 took 496ms (late=5ms h=android.view.Choreographer$FrameHandler c=android.view.Choreographer$FrameDisplayEventReceiver), msg 2 took 1844ms (late=499ms h=android.os.Handler c=androidx.fragment.app.FragmentManagerImpl$2)
W/Looper: Slow Looper: doFrame is 467ms late because of 6 msg, msg 1 took 464ms (late=2325ms h=android.view.Choreographer$FrameHandler c=android.view.Choreographer$FrameDisplayEventReceiver)
D/LeakCanary: Checking retained object because found new object retained
I/example.javaap: Explicit concurrent copying GC freed 5606(395KB) AllocSpace objects, 27(540KB) LOS objects, 49% free, 3MB/6MB, paused 62us total 30.116ms
D/LeakCanary: No retained objects
rest-logs are on [Github-issues][1].
my doubt is where to create new file `ReaderActivity.java`, as I haven't created it yet.
[documentation-link](https://stripe.com/docs/terminal/readers/connecting/bbpos-chipper2xbt#connect-reader)
[1]: https://github.com/stripe/stripe-terminal-android/issues/77