У меня есть проект, созданный в Huawei AppGallery, и я хочу создать плагин Gradle, который загружает новую версию файла Release APK в проект, не отправляя его на утверждение, с помощью Huawei Connect API (просто загрузите новую версию , а не публиковать sh актуальное обновление для пользователей). Прямо сейчас в HuaweiAppGallery есть более старая версия android apk.
Это то, что у меня есть. С экземпляром huaweiService
он просто вызывает конечные точки Connect API:
// get access token
val token = huaweiService.getToken(
clientId = clientId,
clientSecret = clientSecret
)
// get app id
val appInfo = huaweiService.getAppID(
clientId = clientId,
token = token,
packageName = variant.applicationId
)
val uploadUrl = huaweiService.getUploadApkUrl(
clientId = clientId,
token = token,
appId = appInfo.value
)
// upload apk file
val fileInfoListResult = huaweiService.uploadApkFile(
uploadUrl = uploadUrl.uploadUrl,
authCode = uploadUrl.authCode,
apkFile = apkFile
)
// update app info
val fileInfoRequestList = mapFileInfo(fileInfoListResult, apkFileName)
val appId = appInfo.value
huaweiService.updateAppFileInformation(
clientId = clientId,
token = token,
appId = appId,
fileInfoRequestList = fileInfoRequestList
)
Проблемы, с которыми я столкнулся, следующие:
Запрос на загрузку файла APK действительно выполнен, uploadApkFile
возвращает URL-адрес загрузки внутри результата (я даже могу загрузить APK с этим URL-адресом), но этот файл APK не отображается в Huawei AppGallery, где все версии APK приложения отображаются, когда я загружаю их вручную. Поэтому я не могу отправить его на утверждение выпуска.
updateAppFileInformation
метод, выполняемый после загрузки APK, завершается с ошибкой:
[cds]add apk failed, additional msg is [package name already exists]
Почему он сообщает мне, что имя пакета уже существует? Я знаю, что это так, уже загружена более старая версия моего приложения, которую я просто хочу обновить. Как правильно загрузить новую версию Release APK в AppGallery, чтобы после этого я мог взять ее и отправить для выпуска вручную?