簡単な jarsigner .apk ファイル検証コマンドがあります。
jarsigner.exe -verify <path to .apk>
Windowsのコマンドラインから実行すると正常に動作します。
私は通常、特別なクラスを介してアプリケーションで .exe ファイルを実行します。このクラスは、いくつかの (正直なところ、多くの) .exe 呼び出しに対して正常に機能します。(パイプ経由で .exe ファイルの出力を取得し、WaitForSingleObject 関数を介して待機します) プロセスを開始し、たとえば最大 60 秒待機します。
しかし、jarsigner.exe 呼び出しの場合、非常に奇妙な動作が発生しました。
-「jarsigner.exe」などのいくつかの単純なコマンドを開始すると、正常に動作します(1〜3秒で、パイプ経由で出力が得られました)
-検証コマンド (「jarsigner.exe -verify path-to-apk-file」) を開始すると、永遠に待機してもまだ出力が得られません (INFINITE タイムアウトを試行し、かなり待機しました)。Windows cmd を介して同じコマンドを実行すると、動作します (10 ~ 20 秒近く)。
誰かが説明できますか、jarsigner / Windowsプロセスの仕組みを使用する特別なケースはありますか?