2

OpenCV と Tesseract ライブラリを使用する Android アプリを開発しています。これらのライブラリの特定の機能のみを使用します。ただし、ライブラリを含めると、アプリのサイズが 4 MB から 50 MB に増加します。

私は明らかにライブラリを削減する必要があります。どうすればいいですか?

編集: 使いやすさを維持するために、OpenCVManager を使用したくありません。ユーザーに別のアプリのインストールを強制したくありません。

EDIT2: tesseract ライブラリについても同じことを行う必要があります。これは同じように機能すると思いますか?

4

2 に答える 2

4

私が何を提案しようとしているのかは絶対にわかりませんが、最近-gc-sectionsGCC ドキュメントでオプションを見つけました。リンク時に使用され、最終的な実行可能ファイル/ライブラリからすべての未使用のコード セクションを削除することになっています。これにより、OpenCV を手動でトリミングする必要がなくなります。これは、このライブラリの複雑さを考えると、長くて不快な作業になるはずです。

それを使用するには、 を使用して各依存関係をコンパイルし-ffunction-sections -fdata-sections -Os、コード全体を でリンクする必要があるようです-Wl,--gc-sections。試してみる価値があるかもしれません!

このページで詳細を見つけました。

私が間違っている場合は、私を修正することを躊躇しないでください!

于 2013-01-07T13:27:07.637 に答える