so パッケージとのモジュール統合に関する問題

先日、ライブ認識用のプロジェクトがプロジェクトの依存関係としてプロジェクトに追加されましたが、その追加メソッドがモジュールの形で統合され、要件に合わせて関数の一部を書き換えたところ、自分の Oppo 携帯電話でテストするのは問題ありませんが、同時に Samsung のテスト機でテストしても問題はなく、周囲の同僚からも問題に関するフィードバックはありません。

しかし、オンラインになる数日前に、クラッシュが発生するという突然のフィードバックがあり、クラッシュ情報は次のようなものでした。

so パッケージが見つかりませんでした。vivo モデルでは so パッケージが見つかりませんでした。他のモデルには問題はありません。依存モジュールの so パッケージをメイン プロジェクトの jniLibs の下の対応するフォルダーに追加してみてください。

プロジェクトの Gradle を再同期し、リリース パッケージ テストを実行します。テスト前にクラッシュを報告したモデルはクラッシュしなくなり、テスト前に問題がなかったモデルには問題がありません。

モジュールを so パッケージと統合する場合、異なるモデルでは so パッケージを見つけるためのルールが異なる場合があるため、so パッケージはメイン プロジェクトの下に配置する必要があります。そうすることで、たとえ同じ so パッケージのコピーが 2 つあったとしても、コンパイルでは 1 つのパッケージのみをコンパイルし、そのパッケージがさまざまなモデルで見つかることが保証されます。

おすすめ

転載: blog.csdn.net/new_acm_/article/details/114539229