【问题标题】:How to upload Android Release APK file into Huawei AppGallery with Connect API?如何使用 Connect API 将 Android Release APK 文件上传到 Huawei AppGallery?
【发布时间】:2020-11-02 07:57:46
【问题描述】:

我在Huawei AppGallery建立了一个项目,想制作一个Gradle插件,使用Huawei Connect API将新版本的Release APK文件上传到项目中而不提交审批(只需上传新版本,不向用户发布实际更新)。目前在 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
    )

我遇到的问题是:

  1. APK 文件上传请求实际上成功了,uploadApkFile 在结果中返回了一个下载 url(我什至可以用这个 url 下载 APK),但是这个 APK 文件并没有出现在华为 AppGallery 中,该应用程序的所有 APK 版本都出现了当我手动加载它们时。所以我不能提交它以供发布批准。

  2. 上传APK后执行updateAppFileInformation方法失败并报错:

    [cds]add apk failed, additional msg is [package name already exists]
    

为什么它告诉我包名已经存在?我知道确实如此,我的应用程序的旧版本已经上传,我只想更新它。 如何将更新版本的 Release APK 正确上传到 AppGallery 中,以便之后手动提交并提交发布?

【问题讨论】:

    标签: android huawei-mobile-services


    【解决方案1】:

    你的问题是:

    如何将更新版本的 Release APK 上传到 AppGallery 正确吗?

    首先,您已经下载了带有 URL 的 APK。请确保在 5 分钟内调用更新应用程序文件信息。因为在调用更新应用文件信息 API 之前,上传的文件仅可用 5 分钟

    第二,请按以下步骤上传较新版本:

    1. 第一步:Obtaining the File Upload URL:该API用于开发者需要上传图片、视频、APK、RPK、PDF等文件的上传地址。

    2. 第二步:Uploading Files:该API用于将文件从客户端或服务器上传到文件服务器。

    3. 第三步:Updating App File Information:该API用于在图片、视频、APK和RPK文件上传后更新应用文件信息。

    4. 第四步:Submitting an App for Release:此 API 用于提交应用批准请求。调用该接口前,请确保应用信息完整且应用软件包已上传。

    您可以检查以上两部分是否解决了您的问题。

    【讨论】:

    • 感谢您的回复。至于您回答的第二部分,除了第 4 步之外,我所做的正是您所写的。我不想提交应用程序以使用插件发布,我只想上传它以便我可以手动提交稍后从控制台。但是第 3 步对我来说失败了:我在成功上传后 5 分钟内调用了更新应用程序文件信息请求,但它失败并显示错误消息 package name already exists。之后,我在控制台中看不到我上传的 APK。
    • @yabee-dabee 好的。请检查包名是否被其他应用使用,转入的appid是否与包名对应。
    • 这个@yabee-dabee 和@shirley 有什么解决办法吗?我遇到了同样的问题,我的设置似乎一切正常。
    • @FernandoPrieto this 会帮助你吗?如果它显示package name already exists
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-07
    • 2020-12-17
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 2022-01-08
    相关资源
    最近更新 更多