私は、Windows上でcmdを使って構築してきた白いラベルのAndroidアプリケーションを開発中です。これは私が思い付いたものですので、私は、Pythonにこれらのコマンドを転送する必要があります。check_commandでPythonが文字列を破る
旧コマンドは、バッチファイルにあった:
gradlew assembleRelease
-Pandroid.injected.signing.store.file="**${FILELOCATION}"
-Pandroid.injected.signing.store.password="${PASSWORD}"
-Pandroid.injected.signing.key.alias="${SLUG}"
-Pandroid.injected.signing.key.password="${PASSWORD}"
これは、私は、Python 2.7でこれも翻訳です:
check_call([GRADLEW, ':app:assembleRelease' +
' -Pandroid.injected.signing.store.file="{}"'.format(key_info['file']) +
' -Pandroid.injected.signing.store.password="{}"'.format(key_info['store_pw']) +
' -Pandroid.injected.signing.key.alias="{}"'.format(key_info['alias']) +
' -Pandroid.injected.signing.key.password="{}"'.format(key_info['key_pw'])],
cwd=os.path.join(PROJECT_ROOT, 'app'))
これは、次のエラーが発生:
Command '['C:\Data\****\gradlew.bat', ':app:assembleRelease -Pandroid.injected.signing.store.file="C:\Data\****.keystore" -Pandroid.injected.signing.store.password="****" -Pandroid.injected.signing.key.alias="****" -Pandroid.injected.signing.key.password="****"']' returned non-zero exit status 1
これは私がWHE取得Gradleの誤りがありますnは、このコマンドを実行している:
- What went wrong: Project 'assembleRelease -Pandroid.injected.signing.store.file="C' not found in project ':app'.
しかし、私はコピーして、このPythonスクリプトからの出力を貼り付け、アンドロイドスタジオ端子とCMDを通してそれを実行すると、それだけで正常に動作します。だから、pythonは結局どのようにコロンで私のkey_info ['file']文字列を切り捨てているようです。ここで何が起こっていますか?引数にスペースがあるとき
それでした!ありがとう:)私は8分であなたの答えを受け入れます、あなたはそれを受け入れることができないほど速いです。 – Michiel