Я работаю над белым ярлыком Android-приложения, которое я создавал через cmd на окнах. Мне нужно, чтобы передать эти команды питона, так что это то, что я придумал:Python breaks string в check_command
Старый команда была в пакетном файле:
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
Это Gradle ошибка я получаю Whe п выполнив команду:
- What went wrong: Project 'assembleRelease -Pandroid.injected.signing.store.file="C' not found in project ':app'.
Однако, когда я скопировать и вставить вывод из этого питона скрипт и запустить его через андроид студии терминала и КМД, он работает просто отлично. Таким образом, похоже, что python каким-то образом отключает строку key_info ['file'] в двоеточии. Что тут происходит?
Это было сделано! Спасибо :) Примите ваш ответ через 8 минут, вы слишком быстро для меня, чтобы принять его. – Michiel