前段時間,我發佈了我的應用的測試版,並將其與APK擴展文件關聯起來。然後,我想更新我的APK,而不觸及文件,並做了以下操作:在測試版和發佈版本中處理APK擴展文件
我的應用程序的版本代碼是7,提供程序也有此值。提供者看起來像我的清單如下:
<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>
這裏是我的下載活動的一個片段:
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
)};
我只增加清單中的版本代碼值7〜8。因爲我不想觸摸擴展文件。因此,提供商和下載程序活動中的值仍然爲7.
我已經上傳了新的APK文件,但沒有再次選擇上傳的APK擴展文件。但是這不起作用。用戶更新到新版本後,應用程序中的視頻文件不再可用。
因此,我再次上傳了APK文件,然後重新上傳APK擴展文件,並且工作正常。但這很奇怪,因爲用戶必須爲每一次更新下載擴展。
我的問題是:當我將新apk上傳到Google Play控制檯時,是否必須始終選擇存儲的apk擴展文件或重新上傳它? APK擴展文件的行爲在beta和relased版本中有所不同嗎?
在以下帖子Updating an APK in Google Play without changing the expansion file它說,這種行爲只發生在草稿模式,但我的應用程序不是草稿模式。它是已發佈作爲測試版。
我會非常感謝您的幫助。
謝謝你的回答。我正在理解主要和補丁擴展文件的conecpt,我只需要主文件。我的主擴展文件永遠不會改變,問題是:如果我只更新apk,我是否每次都必須使用新版本號上傳它?所以我將不得不在我的清單和下載器活動中增加提供者的值以匹配版本代碼。因此用戶必須下載每個更新的大文件。我不認爲這是正確的方法。 –