0

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 を使用することをお勧めします。

これを行う方法はありますか?

ありがとう!

4

1 に答える 1