targetSDK が 19 に設定された (古い) Android アプリケーションがあり、いくつかのネイティブ ライブラリ (.so ファイル) が含まれており、API 23 までのデバイスで正常に動作します。
Android O デバイスで targetSdk 19 を使用したままビルドを実行し、実質的にコードやマニフェスト、またはその他の種類の変更を行わないと、次の警告が発生します。
... targetSdk 26 でビルドを実行しようとすると、エラーに変わります。
現在、この警告を修正し、当面の間アプリをターゲット 19 にするよう求められています。問題は、クライアントがこのネイティブ モジュールのソース コードを持っていないことです。そのため、これらのヘッダーが何であるかを調べ始め、コードを入手せずにネイティブ ライブラリを再構築せずにヘッダーを変更できるかどうかを調べました。そして、so ファイルを直接編集してフラグを変更できる HT エディターを見つけました。
私の質問は、バイナリ ファイルを直接ハッキングすることの影響は何かということです。一般に、私のアプリに関連する特定の問題がある可能性があることは理解しています。
複数のデバイスで徹底的な回帰テストを行った後、アプリが正常に動作することが判明した場合、このハッキングが原因で、どこかで予期せずクラッシュする可能性が高くなります。テスト?
私が答えを探しているのはこれです-サードパーティの開発者から適切に構築されたコードまたは新しいライブラリを取得できない場合に、クライアントがこのアプリケーションを本番環境で使用するための実行可能なソリューションですか?
この警告の修正について質問するいくつかのスレッドを見つけましたが、満足のいく答えはなく、バイナリ ファイルを直接編集する必要もありません。
Android O(8.0)で「W + Eロードセグメントは許可されていません」を修正する方法</a>
W + Eセグメントを持つ.soファイルに対するAndroid Nの警告
書き込み可能セグメントと実行可能セグメントなしで Android O 用に .so をコンパイルする方法は? 特定の ELF パーミッションを設定するには?
ご意見ありがとうございます。