7

私は通信事業者で働いており、Android フォンにアプリケーションをプリロードしています。

ただし、マーケットからアップグレードすると、プリロードされた一部のアプリケーションがクラッシュします。

問題は次のとおりです。
- アプリケーションに .so ライブラリ ファイルが含まれている
- 完全なアプリケーションを電話にプリロードするには、.so ライブラリ ファイルを個別に lib ディレクトリ (/system/lib/libXXXXjni.so) に配置する必要があります。
- プリロードされたアプリケーションがマーケットからアップグレードされて実行されると、新しい APK の .so ライブラリ ファイルが検出される代わりに、古いプリロードされた .so ファイルが最初に検出されます - 2 つの .so ファイルの内容が異なるため、クラッシュが発生します

これを解決するのに役立つ可能性のある回避策やライブラリ検索アルゴリズムの知識を持っている人はいますか?

考えられる解決策の 1 つは、単にライブラリ ファイルの名前を変更することかもしれませんが、それで十分でしょうか?

前もって感謝します...

4

1 に答える 1

0

プリロードするときは、アプリケーション ライブラリを /data/data/com.package.foobar/lib/libXXXXjni.so に配置してみてください。

ライブラリの名前を変更すると機能します。アプリのバージョン番号を .so ファイルの名前として使用している可能性があります。ただし、ビルドはより複雑になります。

于 2011-10-11T18:32:34.477 に答える