2015-10-22 45 views
4

我添加shareduserid到我的應用程序,當試圖從谷歌播放商店更新應用程序時,我得到-504 error.Device日誌如下。清單文件是正確的,從android studio或adb安裝時沒有問題,但不能從市場更新。有任何想法嗎?Android應用程序無法從市場更新,在shareduserid添加後

Copying /data/data/io.crash.air/files/com.xxx.xxx_36fcadf21b0a4ef18ff35b90608b3b1c.apk to base.apk 
D/PackageManager( 645): Renaming /data/app/vmdl1037256928.tmp to /data/app/com.xxx.xxx-2 
I/ActivityManager( 645): Force stopping com.xxx.xxx appid=10271 user=-1: uninstall pkg 
I/PackageManager( 645): Package com.xxx.xxx codePath changed from /data/app/com.xxx.xxx-1 to /data/app/com.xxx.xxx-2; Retaining data and using new 
W/PackageManager( 645): Package com.xxx.xxx shared user changed from <nothing> to com.yyy.yyy; replacing with new 
W/PackageManager( 645): Package couldn't be installed in /data/app/com.xxx.xxx-2 
W/PackageParser( 645): Unknown element under <application>: intent-filter at /data/app/com.xxx.xxx-1/base.apk Binary XML file line #334 
D/ActivityManager( 645): getTaskThumbnailLocked mainThumbnail is null, TaskRecord{2732f83e #5724 A=com.xxx.xxx U=0 sz=0} 
D/ActivityManager( 645): getTaskThumbnailLocked mainThumbnail is null, TaskRecord{2732f83e #5724 A=com.xxx.xxx U=0 sz=0} 
I/PackageManager( 645): Successfully restored package : com.xxx.xxx after failed upgrade 
+1

「我在我的應用程序中添加了shareduserid」 - 不這樣做。你不能可靠地改變'android:sharedUserId'。無論您最初提供什麼,都必須是您爲該應用程序永遠使用的價值。這是恕我直言,普通Android SDK應用程序開發人員不應該混淆'android:sharedUserId'的原因之一。 – CommonsWare

+0

我已更改併發布在商店中,用戶無法安裝更新,除非卸載舊版本。我擁有100萬用戶,並且可以等待所有人卸載並安裝我的應用。有什麼方法可以解決?如果我再次更新時刪除了shareduserid,那麼當前更新的用戶無法安裝此更新@CommonsWare – nikinci

+0

據我所知,您已經搞錯了,對於如何最好地修復損壞我沒有任何建議,抱歉。 – CommonsWare

回答

3

如果sharedUserId添加或從AndroidManifest刪除,用戶將無法更新應用程序,因爲該操作系統用戶id Android操作系統被分配給應用程序已經改變。

不幸的是,用戶在這一點上,他們只能通過卸載和重新安裝前進。您無法解決此問題,以便他們可以進行更新。

我真的很抱歉這發生在你和你的用戶身上。我已要求Google Play在開發者控制檯中添加警告,以提醒開發人員注意這一點。

在你並不是唯一一個遇到過這個問題的事實上採取一些冷漠的態度。我一直在那裏,它很糟糕。

相關問題