0

phonegap android アプリをセットアップしようとしています (これは付随的なもので、ほんの一部です)。グローバルに実行できるようにする必要がある android.bat というバッチ ファイルがあります。「android」をcmdに入れると、バッチファイルが実行されます。「path」環境変数に設定し、cmdを再起動し、コンピューターを再起動しても無駄になりました.cmdに「android」を入れると、「androidは内部コマンドまたは外部コマンドとして認識されません」など.

非常に奇妙なのは、環境変数を設定する前は、Run から "android" を実行しても機能しなかったのに対し、現在は機能することです。したがって、明らかに Windows はそれを有効なグローバル変数として認識します。フルパスをcmdに入れると、うまくいきます。

また、別の場所に別のバッチ ファイルを作成して同じことを試みても、同じ結果が得られます。

だから私は困惑しています。何か案は?

4

2 に答える 2

0

すべてを理解したことを再開するだけです

1 - バッチ ファイル (android.bat/cmd) があります。

2 - フルパスで直接呼び出すと、問題なく動作します

3 - 実行ダイアログから呼び出すと、問題なく実行されます (実際に動作する方法はポイント 2 と同じです)

4 - バッチ ファイルが置かれているディレクトリがパスに含まれている

5 - 別のディレクトリから呼び出すと機能しません

6 - 他のバッチ ファイルでも同じことが起こります

2 つの可能性。

パス変数に無効な文字または適切に引用/エスケープされていない文字が含まれており、システムがパス内のプログラムを見つけるのに問題があります。

または、PATHEXT 変数に .CMD または .BAT が含まれていません。プログラムを呼び出すときにパスの各ディレクトリでチェックされる拡張子をリストします。

コマンド ラインから、SET PATHこの 2 つのオプションのいずれかが正しいかどうかを入力して確認します。

編集済み

これらのオプションは問題を特定していないようです。別のことを試してみましょう

SDKでファイルを見つけsdk\tools\lib\find_java.batます。行を変更します (約 26 と 32 になるはずです)。

for /f %%a in ('%~dps0\find_java.exe -s') do set java_exe=%%a
for /f %%a in ('%~dps0\find_java.exe -s -w') do set javaw_exe=%%a

for /f %%a in ('"%~dps0\find_java.exe" -s') do set java_exe=%%a
for /f %%a in ('"%~dps0\find_java.exe" -s -w') do set javaw_exe=%%a

そして、もう一度 android.bat を実行してみてください

于 2013-11-14T15:13:25.367 に答える
0

Androidをcmdに「入れる」とはどういう意味ですか? どの環境変数を設定しましたか?

android.batプロンプトから実行するandroid.batには、 が のいずれかのディレクトリにあることを確認する必要がありますPATH

表示するには、プロンプトでPATH入力するだけです。PATHディレクトリのセミコロン区切りのリストが表示されます。ANDOID.BATこれらのディレクトリのいずれかに配置するか、新しいディレクトリ (c:\belfry が一般的) を追加して、それを PATH に含めます。

そうは言っても、 によって検査される最初のディレクトリはCMDCURRENT ディレクトリであるため、.ANDROIDandroid.batPATH

于 2013-11-14T13:32:04.313 に答える