OSに付属しているものよりも新しいバージョンのopensslをアプリで実行する必要があります。新しいバージョンをコンパイルするためにAndroidソースにパッチを適用し、アプリで使用する共有ライブラリを抽出することができました。
その後、opensslの新しいバージョンでのみ関数を必要とするネイティブコードをコンパイルして、新しい共有ライブラリに対してリンクすることができました(新しいopensslへのパッチが機能しました)。
期待どおりに機能するいくつかのjni関数を作成することもできましたが、アプリのローカルにある新しいopenssl共有ライブラリにのみある関数を追加するとすぐに、満足できないリンクエラーが発生します。
私の仮定は、libcryptoとlibsslのシステムバージョンが/libs/armeabi/libcrypto.soと/libs/armeabi/libssl.soのローカルバージョンを上書きしているということです....これを修正するにはどうすればよいですか?