1

指定したプロジェクトから構築した 2 つの静的ライブラリがあります。

ARMv5 / myLib.a
ARMv7 / myLib.a

ここで、これらのライブラリを使用して、ARMv5 および ARMV7 プラットフォーム用の 2 つの共有ライブラリを構築したいと考えています。

スタティック ライブラリの 2 つのバージョンを使用するという事実を指定する方法はありますか? 今のところ、次の ANT スクリプトで悪いトリックを行っています。

  1. スタティック ARMv5 ライブラリをコピーします。
  2. 共有ライブラリ ( ARMv5 ) をビルドします。
  3. ARMv5 静的ライブラリを削除し、ARMv7 バージョンをコピーします。
  4. 共有ライブラリ ( ARMv7 ) を再度ビルドします。

私はあることを知っています

"APP_ABI := armeabi armeabi-v7a" 

しかし、1つだけでなく、2つの別々の静的ライブラリからビルドしたいことを彼に伝えるにはどうすればよいですか?

よろしく、

4

1 に答える 1

1

最善の方法ではないかもしれませんが、Android.mk で if else ステートメントを使用してみて、APP_ABI の値を確認し、対応するライブラリを使用することができます。

ifeq ($(APP_ABI), armeabi-v7a)
  LOCAL_SRC_FILES := ARMv7/myLib.a
else
  LOCAL_SRC_FILES := ARMv5/myLib.a
endif

または、直接リンクする場合は LOCAL_STATIC_LIBRARIES を使用してください。もちろん、 Application.mk には、次の行を含める必要があります。

APP_ABI := armeabi armeabi-v7a
于 2013-08-12T11:28:12.413 に答える