ijkplayer プレーヤーのクラッシュ問題

Googleで公開するということでバージョン30にアップデートされ、arm64-v8aが追加されたのですが、実行後、突然プレーヤーが落ちて動かなくなり、互換性もありません。29に変更すれば問題ありません。

問題分析:

調査の結果、クラッシュ問題は Android 11 の 64 ビット ライブラリへのポインタ アクセスの問題が原因であることが判明しました

理由: Android 11 以降、64 ビットプロセスでは、メモリアクセス時にポインタの先頭バイトを無視するポインタマークを追加する機能が実装されました。このような理由により、オンライン ビデオの再生時にプレーヤー カーネル (ijkplayer) がクラッシュします。

次のコンテンツをプロジェクトの AndroidManifest.xml ファイルに追加します。

<application android:allowNativeHeapPointerTagging="false">

...

</application>

これにより、アプリのポインター マークが無効になります。これにより、問題は一時的に解決されます。(正常に検証されました)

解決策 2:

同時に、SDK の基礎となるライブラリで使用される ffmpeg と ijkplayer を、現在のオープン ソース バージョンの最新の提出物にアップグレードして更新します。メインプロジェクトで使用される SDK ライブラリを更新します。

おすすめ

転載: blog.csdn.net/BigBingtang/article/details/124291571