opentok-android-sdk-samples: crashed in Android 12

OpenTok not working with android 12, below are the logs,

JNI DETECTED ERROR IN APPLICATION: JNI GetObjectClass called with pending exception java.lang.SecurityException: listen runtime.cc:677] at java.lang.Exception android.os.Parcel.createExceptionOrNull(int, java.lang.String) (Parcel.java:2425) runtime.cc:677] at java.lang.Exception android.os.Parcel.createException(int, java.lang.String) (Parcel.java:2409) runtime.cc:677] at void android.os.Parcel.readException(int, java.lang.String) (Parcel.java:2392) runtime.cc:677] at void android.os.Parcel.readException() (Parcel.java:2334) runtime.cc:677] at void com.android.internal.telephony.ITelephonyRegistry$Stub$Proxy.listenWithEventList(int, java.lang.String, java.lang.String, com.android.internal.telephony.IPhoneStateListener, int[], boolean) (ITelephonyRegistry.java:1036) runtime.cc:677] at void android.telephony.TelephonyRegistryManager.listenFromListener(int, java.lang.String, java.lang.String, android.telephony.PhoneStateListener, int, boolean) (TelephonyRegistryManager.java:250) runtime.cc:677] at void android.telephony.TelephonyManager.listen(android.telephony.PhoneStateListener, int) (TelephonyManager.java:5999) runtime.cc:677] at void com.opentok.android.DefaultAudioDevice.registerPhoneStateListener() (:-1) runtime.cc:677] at boolean com.opentok.android.DefaultAudioDevice.initRenderer() (:-1) runtime.cc:677] Caused by: android.os.RemoteException: Remote stack trace: runtime.cc:677] at com.android.internal.telephony.TelephonyPermissions.enforceCarrierPrivilege(TelephonyPermissions.java:634) runtime.cc:677] at com.android.internal.telephony.TelephonyPermissions.checkReadPhoneState(TelephonyPermissions.java:149) runtime.cc:677] at com.android.internal.telephony.TelephonyPermissions.checkCallingOrSelfReadPhoneState(TelephonyPermissions.java:94) runtime.cc:677] at com.android.server.TelephonyRegistry.checkListenerPermission(TelephonyRegistry.java:3092) runtime.cc:677] at com.android.server.TelephonyRegistry.listen(TelephonyRegistry.java:1024) runtime.cc:677] runtime.cc:677] (Throwable with no stack trace) runtime.cc:677] runtime.cc:677] in call to GetObjectClass A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 32407 (Thread-16), pid 32211

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 21 (1 by maintainers)

Most upvoted comments

Magic Answer

  1. Change react-native opentok version 0.14.0
  2. Added android:exported=“true” into activity of AndroidManifest file - (Android 12)
  3. Check your permission as below
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" /> 
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" /> 
<uses-feature android:name="android.hardware.camera" android:required="true" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.microphone" android:required="true" />

@vmeditab https://tokbox.com/developer/sdks/android/release-notes.html Here’s the release notes. Looks like it’s version 2.21.4

UPDATE: Just tested on my build, which targets Android 12, and it’s working! 🎊

fyi a version was just released to address this issue

Also getting a crash trying to subscribe to a session from an Android 12 device, targering API level 31:

A/libc: Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 7712 (Thread-41), pid 6868

2021-12-24 10:21:36.515 7726-7726/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2021-12-24 10:21:36.515 7726-7726/? A/DEBUG: Build fingerprint: 'google/sdk_gphone64_x86_64/emulator64_x86_64_arm64:12/SE1A.211012.001/7818354:userdebug/dev-keys'
2021-12-24 10:21:36.515 7726-7726/? A/DEBUG: Revision: '0'
2021-12-24 10:21:36.515 7726-7726/? A/DEBUG: ABI: 'x86_64'
2021-12-24 10:21:36.515 7726-7726/? A/DEBUG: Timestamp: 2021-12-24 10:21:35.500554878+0100
2021-12-24 10:21:36.515 7726-7726/? A/DEBUG: Process uptime: 0s
2021-12-24 10:21:36.515 7726-7726/? A/DEBUG: Cmdline: APP_NAME
2021-12-24 10:21:36.516 7726-7726/? A/DEBUG: pid: 6868, tid: 7712, name: Thread-41  >>> APP_NAME <<<
2021-12-24 10:21:36.516 7726-7726/? A/DEBUG: uid: 10148
2021-12-24 10:21:36.516 7726-7726/? A/DEBUG: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
2021-12-24 10:21:36.516 7726-7726/? A/DEBUG:     rax 0000000000000000  rbx 0000000000001ad4  rcx 00007cd64bf2c5cf  rdx 0000000000000006
2021-12-24 10:21:36.516 7726-7726/? A/DEBUG:     r8  00007cd4758c7f10  r9  00007cd4758c7f10  r10 00007cd33db581c0  r11 0000000000000207
2021-12-24 10:21:36.516 7726-7726/? A/DEBUG:     r12 00007cd328586b28  r13 00007cd5259b1850  r14 00007cd33db581b8  r15 0000000000001e20
2021-12-24 10:21:36.516 7726-7726/? A/DEBUG:     rdi 0000000000001ad4  rsi 0000000000001e20
2021-12-24 10:21:36.516 7726-7726/? A/DEBUG:     rbp 00007cd64bfa5730  rsp 00007cd33db581b0  rip 00007cd64bf2c5cf
2021-12-24 10:21:36.516 7726-7726/? A/DEBUG: backtrace:
2021-12-24 10:21:36.516 7726-7726/? A/DEBUG:       #00 pc 000000000005e5cf  /apex/com.android.runtime/lib64/bionic/libc.so (abort+191) (BuildId: 5db8d317d3741b337ef046540bbdd0f7)
2021-12-24 10:21:36.516 7726-7726/? A/DEBUG:       #01 pc 00000000002cc9be  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.516 7726-7726/? A/DEBUG:       #02 pc 00000000004dd5b1  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.516 7726-7726/? A/DEBUG:       #03 pc 00000000000f78a5  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.516 7726-7726/? A/DEBUG:       #04 pc 00000000000f79e8  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.516 7726-7726/? A/DEBUG:       #05 pc 00000000002c5a85  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.516 7726-7726/? A/DEBUG:       #06 pc 00000000002c5a52  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.516 7726-7726/? A/DEBUG:       #07 pc 00000000002c6a4e  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.517 7726-7726/? A/DEBUG:       #08 pc 00000000002c6b48  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.517 7726-7726/? A/DEBUG:       #09 pc 00000000001c23fc  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.518 7726-7726/? A/DEBUG:       #10 pc 0000000000426119  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.519 7726-7726/? A/DEBUG:       #11 pc 000000000042171d  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.519 7726-7726/? A/DEBUG:       #12 pc 0000000000272975  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.519 7726-7726/? A/DEBUG:       #13 pc 0000000000202b75  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.519 7726-7726/? A/DEBUG:       #14 pc 00000000002acc9d  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.519 7726-7726/? A/DEBUG:       #15 pc 00000000002abfd3  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.519 7726-7726/? A/DEBUG:       #16 pc 00000000002ab7d2  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.519 7726-7726/? A/DEBUG:       #17 pc 00000000002aaa63  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.520 7726-7726/? A/DEBUG:       #18 pc 00000000002abc48  /data/app/~~DIpXQR8PqtxFNZ6tyiL6iQ==/APP_NAME-QxenZa6_RS0SmCug8g28rA==/base.apk!libopentok.so (BuildId: 2b8fcdfcb19e597ab847e45942ed4e76e07b8194)
2021-12-24 10:21:36.520 7726-7726/? A/DEBUG:       #19 pc 00000000000c758a  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+58) (BuildId: 5db8d317d3741b337ef046540bbdd0f7)
2021-12-24 10:21:36.520 7726-7726/? A/DEBUG:       #20 pc 000000000005fd87  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+55) (BuildId: 5db8d317d3741b337ef046540bbdd0f7)
2021-12-24 10:21:36.589 244-244/? E/tombstoned: Tombstone written to: tombstone_00

I added this to the AndroidManifest.xml and it works:

        android:name="android.permission.READ_PHONE_STATE"
        tools:remove="android:maxSdkVersion" />

I’ve opened a ticket on their internal ticketing system, they acknowledged the issue, but they cannot give an ETA for now. They cannot provide a workaround, it seems the only way for now to use it is to stay on API 30.

Thanks for doing that!!

I am having issues on Android 12 devices, even when I stay on API 30. I don’t have a work around at all…