1

スクリプトを使用してAndroidをビルドしようとしています。これで、ビルドのルートフォルダーで、次のコマンドを実行しています。

os.system("source build/envsetup.sh")
os.system("choosecombo 1 <chipsetname> <buildtype>")
os.system("make -j32")

そして私もこれを試しました:

os.system("source build/envsetup.sh;choosecombo 1 <chipsetname> <buildtype>;make -j32")

私がどこで間違っているのか考えていますか?

私はos.systemが新しいサブシェルで実行されることを知っています。したがって、同じサブシェルで2番目のオプションを実行するべきではありませんか?

4

1 に答える 1

1

os.systemへの各呼び出しは、新しいサブシェルで行われるため、各呼び出しを独立した呼び出しとして扱います。他のことを行うために、以前に行われたこと(シェルスクリプトのソーシングなど)に依存することはできません。

2番目の方法が標準シェルで機能する場合は、os.system呼び出しで機能するはずです。

于 2012-05-02T10:02:12.233 に答える