Android.mk内から swigを使用します。$PATH 変数に直接依存して参照し、実行可能ファイルへのパスを含めます。
問題は、android-ndk ツールの実行元によって $PATH 変数が異なることです。
バックグラウンド
私の Android.mk ファイルでは:
# some stuff ...
@echo "$(PATH)"
swig # swig parameters here...
# more stuff ...
ターミナルから、システム パスに swig へのパスが含まれていることがわかります。
which swig
/usr/local/bin/swig
echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:
問題
android-ndk が Android Studio 内から実行されると、次の PATH を取得します (注: swig パスがありません)。
/usr/bin:/bin:/usr/sbin:/sbin
これにより、「swig」が認識されないため、ビルドが失敗します。
make: swig: Command not found
ただし、端末から直接 android-ndk を実行すると、使用される PATH はシステム パスと同じになり、ビルドは正常に動作します。
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:
悪い解決策
はい、Android.mk ファイルにパスを手動で追加できます。
export PATH:=/usr/local/bin/:$(PATH)
ただし、チーム全体がこのファイルを使用することを知っているので、自分のマシンに特定のパスを定義したくありません。
質問
代わりに Android.mk ファイルでシステムの PATH を使用することをお勧めします。
これを行う方法はありますか?
ありがとう!