Lidar com arquivos de expansão APK em versão beta e lançada

9

Há algum tempo, eu lancei uma versão beta do meu aplicativo e conectei-a a um arquivo de expansão do APK. Então eu queria atualizar meu APK sem tocar nos arquivos e fiz o seguinte:

O código da versão do meu aplicativo era 7 e o provedor também tinha esse valor. O provedor parece seguir no meu manifesto:

<provider
    android:name=".expansion.MyApezProvider"
    android:authorities="com.bla.blabla"
    android:exported="false"
    android:multiprocess="true"
>
    <meta-data
        android:name="mainVersion"
        android:value="7">
    </meta-data>
</provider>

E aqui está um trecho da minha atividade do Downloader:

private static final XAPKFile[] xAPKS = {new XAPKFile(true, // true signifies a main file
        7, // the version of the APK that the file was uploaded
        383989643L // the length of the file in bytes
)};

Eu só aumentei o valor do código de versão no manifesto de 7 para 8. Porque não queria tocar no arquivo de expansão. Portanto, o valor no provedor e na atividade do Downloader ainda era 7.

Eu fiz o upload do novo arquivo APK e não escolhi o arquivo de expansão APK carregado novamente. Mas isso não funcionou. Depois que os usuários forem atualizados para a nova versão, os arquivos de vídeo no aplicativo não estarão mais disponíveis.

Então, eu fiz o upload do arquivo APK novamente e reenviei o arquivo de expansão APK e isso funciona. Mas isso é muito estranho porque o usuário tem que baixar as expansões para cada atualização.

Minha pergunta é: quando eu fizer o upload do novo apk no Google Play Console, preciso escolher sempre o arquivo de expansão armazenado ou enviá-lo novamente? O comportamento dos Ficheiros de Expansão APK é diferente na versão beta e relasada?

Na postagem seguinte, Atualizando um APK no Google Play sem alterar o arquivo de expansão , ele diz que esse comportamento ocorre apenas no modo de rascunho, mas meu aplicativo não está no modo de rascunho. É publicado como beta.

Eu ficaria muito grato por sua ajuda.

    
por Deno Agüero 18.10.2017 в 14:49
fonte

1 resposta

2

Você precisa fazer o upload dos dois arquivos, pois é o modo normal.

Sempre que você fizer o upload de um APK usando o Google Play Console, terá a opção de adicionar um ou dois arquivos de expansão ao APK. Cada arquivo pode ter até 2 GB e pode ser qualquer formato escolhido, mas recomendamos o uso de um arquivo compactado para economizar largura de banda durante o download. Conceitualmente, cada arquivo de expansão desempenha um papel diferente:

O arquivo de expansão principal é o arquivo de expansão principal para recursos adicionais requeridos pelo seu aplicativo. O arquivo de expansão de correção é opcional e destina-se a pequenas atualizações no arquivo de expansão principal. Embora você possa usar os dois arquivos de expansão da maneira que desejar, recomendamos que o arquivo de expansão principal forneça os principais recursos e raramente, ou nunca, seja atualizado; o arquivo de expansão do patch deve ser menor e servir como "patch carrier", sendo atualizado com cada versão principal ou conforme necessário.

No entanto, mesmo que a atualização do seu aplicativo exija apenas um novo arquivo de expansão de patch, você ainda precisará fazer o upload de um novo APK com um versionCode atualizado no manifesto. (o Play Console não permite que você envie um arquivo de expansão para um APK existente.)

Nota: O arquivo de expansão de correção é semanticamente o mesmo que o arquivo de expansão principal - você pode usar cada arquivo da maneira que desejar. O sistema não usa o arquivo de expansão de patch para fazer correções no seu aplicativo. Você deve se corrigir ou ser capaz de distinguir entre os dois arquivos.

Você pode encontrar mais detalhes aqui link

    
por M.Saad Lakhan 25.10.2017 / 14:45
fonte