Android 11 IjkMediaPlayer 和 GiraffePlayer2 问题
Android 11 IjkMediaPlayer and GiraffePlayer2 issue
我正在使用 GiraffePlayer2,它使用 IjkMediaPlayer 来实现。使用 lazyLoad 库时,我在 Android 11 及更高版本上崩溃。这是 logcat:-
2021-08-05 11:47:02.253 2872-2959/daily.status.earn.money E/atus.earn.mone: No implementation found for void tv.danmaku.ijk.media.player.IjkMediaPlayer.native_finalize() (tried Java_tv_danmaku_ijk_media_player_IjkMediaPlayer_native_1finalize and Java_tv_danmaku_ijk_media_player_IjkMediaPlayer_native_1finalize__)
2021-08-05 11:47:02.253 2872-2959/daily.status.earn.money E/System: Uncaught exception thrown by finalizer
2021-08-05 11:47:02.254 2872-2959/daily.status.earn.money E/System: java.lang.UnsatisfiedLinkError: No implementation found for void tv.danmaku.ijk.media.player.IjkMediaPlayer.native_finalize() (tried Java_tv_danmaku_ijk_media_player_IjkMediaPlayer_native_1finalize and Java_tv_danmaku_ijk_media_player_IjkMediaPlayer_native_1finalize__)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.native_finalize(Native Method)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.finalize(IjkMediaPlayer.java:958)
at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:291)
at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:278)
at java.lang.Daemons$Daemon.run(Daemons.java:139)
at java.lang.Thread.run(Thread.java:923)
和其他logcat:-
A/libc: Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x77b4b6ec08 in tid 29207 (ff_read), pid 28875 (atus.earn.money)
我正在使用 Github 中提到的 Proguard 配置。
我设法解决了这个问题:
https://source.android.google.cn/devices/tech/debug/tagged-pointers
将此添加到 AndroidManifest.xml 文件:
<application android:allowNativeHeapPointerTagging="false">
...
</application>
我正在使用 GiraffePlayer2,它使用 IjkMediaPlayer 来实现。使用 lazyLoad 库时,我在 Android 11 及更高版本上崩溃。这是 logcat:-
2021-08-05 11:47:02.253 2872-2959/daily.status.earn.money E/atus.earn.mone: No implementation found for void tv.danmaku.ijk.media.player.IjkMediaPlayer.native_finalize() (tried Java_tv_danmaku_ijk_media_player_IjkMediaPlayer_native_1finalize and Java_tv_danmaku_ijk_media_player_IjkMediaPlayer_native_1finalize__)
2021-08-05 11:47:02.253 2872-2959/daily.status.earn.money E/System: Uncaught exception thrown by finalizer
2021-08-05 11:47:02.254 2872-2959/daily.status.earn.money E/System: java.lang.UnsatisfiedLinkError: No implementation found for void tv.danmaku.ijk.media.player.IjkMediaPlayer.native_finalize() (tried Java_tv_danmaku_ijk_media_player_IjkMediaPlayer_native_1finalize and Java_tv_danmaku_ijk_media_player_IjkMediaPlayer_native_1finalize__)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.native_finalize(Native Method)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.finalize(IjkMediaPlayer.java:958)
at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:291)
at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:278)
at java.lang.Daemons$Daemon.run(Daemons.java:139)
at java.lang.Thread.run(Thread.java:923)
和其他logcat:-
A/libc: Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x77b4b6ec08 in tid 29207 (ff_read), pid 28875 (atus.earn.money)
我正在使用 Github 中提到的 Proguard 配置。
我设法解决了这个问题: https://source.android.google.cn/devices/tech/debug/tagged-pointers
将此添加到 AndroidManifest.xml 文件:
<application android:allowNativeHeapPointerTagging="false">
...
</application>