Грубая сводка кодов:
from botocore.vendored import requests
...
apkUploadResponse = devicefarm.create_upload(
name=event["eventvarname"]+'.apk',
type='ANDROID_APP',
projectArn=projectArn,
)
apkContentLengthHeader={'content-length': apkSize}
apkuploadresponse = requests.put(headers=apkContentLengthHeader, url = apkUrl, files = {'file': apkobject["Body"].read()})
Я получаю размер apk, используя сводку объекта s3 для apkobject, и подаю его через заголовок запроса Put
АПК был получен командой s3 get_object от boto3 из корзины s3
Затем я использую get_upload для devicefarm, чтобы проверить статус
Этот статус всегда возвращает ошибку ANDROID_APP_AAPT_DEBUG_BADGING_FAILED, даже когда мы делаем исправление aapt, предложенное в справочных документах (запускали aapt для приложения локально без ошибок, затем загружали в s3)
Когда я перехожу по ссылке «Загрузить» в ответе, файл определенно находится там и имеет правильный размер, и я ОПРЕДЕЛЕННО запускаю aapt для вновь созданного приложения, прежде чем делать что-либо из этого.
Это приложение прекрасно тестирует на FUZZ, если я загружаю его вручную через графический интерфейс, так что я пропускаю что-то еще?