2017-10-18 5 views
9

Il y a quelque temps, j'ai publié une version bêta de mon application et je l'ai connectée avec un fichier d'extension APK. Ensuite, je voulais mettre à jour mon APK sans toucher les fichiers et a fait ce qui suit:Gestion des fichiers d'extension APK en version bêta et version

Le code de version de mon application était 7 et le fournisseur avait également cette valeur. Le fournisseur ressemble suivant dans mon manifeste:

<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> 

Et voici un extrait de mon activité 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 
)}; 

Je n'ai incrémente la valeur du code de version dans le manifeste 7 et 8. Parce que je ne voulais pas toucher au fichier d'extension. Par conséquent, la valeur du fournisseur et de l'activité de téléchargement était toujours égale à 7.

J'ai téléchargé le nouveau fichier APK et je n'ai pas choisi de nouveau le fichier d'extension APK importé. Mais cela n'a pas fonctionné. Après la mise à jour des utilisateurs vers la nouvelle version, les fichiers vidéo de l'application ne sont plus disponibles.

J'ai donc téléchargé le fichier APK à nouveau et télécharger de nouveau le fichier d'extension APK et cela fonctionne. Mais c'est très étrange car l'utilisateur doit télécharger les extensions pour chaque mise à jour.

Ma question est la suivante: Lorsque je télécharge la nouvelle apk sur la console Google Play, dois-je toujours choisir le fichier d'extension apk stocké ou le télécharger à nouveau? Le comportement des fichiers d'extension APK est-il différent en version bêta et version relâchée?

Dans le post suivant Updating an APK in Google Play without changing the expansion file, il est indiqué que ce comportement ne se produit qu'en mode brouillon mais que mon application n'est pas en mode brouillon. C'est publié en version bêta.

Je serais très reconnaissant pour votre aide.

Répondre

2

Vous devez télécharger les deux fichiers car c'est la manière normale.

Chaque fois que vous téléchargez un fichier APK à l'aide de la console Google Play, vous avez la possibilité d'ajouter un ou deux fichiers d'extension à l'APK. Chaque fichier peut atteindre 2 Go et peut être n'importe quel format, mais nous vous recommandons d'utiliser un fichier compressé pour conserver la bande passante pendant le téléchargement. Conceptuellement, chaque fichier d'expansion joue un rôle différent:

Le fichier d'extension principal est le fichier d'extension principal pour les ressources supplémentaires requises par votre application. Le fichier d'extension de correctif est facultatif et destiné aux petites mises à jour du fichier d'extension principal. Bien que vous puissiez utiliser les deux fichiers d'extension comme vous le souhaitez, nous recommandons que le fichier d'extension principal fournisse les ressources principales et ne devrait que rarement, voire jamais, être mis à jour. le fichier d'extension du correctif doit être plus petit et servir de «correctif», se mettre à jour avec chaque version majeure ou selon les besoins.

Toutefois, même si la mise à jour de votre application requiert uniquement un nouveau fichier d'extension de correctif, vous devez tout de même télécharger un nouveau fichier APK avec un code version versionné dans le manifeste. (La console Play ne vous permet pas de télécharger un fichier d'extension vers un fichier APK existant.)

Remarque: Le fichier d'extension de correctif est sémantiquement identique au fichier d'extension principal: vous pouvez utiliser chaque fichier comme vous le souhaitez . Le système n'utilise pas le fichier d'extension de correctif pour effectuer des correctifs pour votre application. Vous devez effectuer vous-même des correctifs ou être capable de faire la distinction entre les deux fichiers.

Vous pouvez trouver plus de détails ici https://developer.android.com/google/play/expansion-files.html

+0

Merci pour votre réponse. Je comprends le conecpt du fichier d'expansion principal et de correctif et je n'ai besoin que du fichier principal. Mon fichier d'extension principal ne changera jamais et la question est: Dois-je le télécharger à chaque fois avec un nouveau numéro de version si je ne mets à jour que l'apk? Donc, je devrai toujours incrémenter la valeur du fournisseur dans mon manifeste et dans l'activité du téléchargeur pour correspondre au code de la version. Par conséquent, l'utilisateur doit télécharger le gros fichier pour chaque mise à jour. Je ne pense pas que ce soit la bonne façon. –