2011-01-31 31 views
3

我们最近将我们的游戏发布到Android Market上,但正面临着一个主要问题。我们收到世界各地的人的电子邮件和错误报告,他们无法下载我们的游戏。人们无法在Android Market下载我们的特定产品

在网络上搜索有类似问题的人,我们发现有些人遇到了类似的问题,尽管他们根本无法从市场上下载任何应用程序。我们一直在处理的人可以下载除游戏外的所有其他内容。报告问题的人员在其设备内部和外部都有足够的内存。

有没有人有任何线索可以解决问题?

最好的问候, 亚历

编辑: 既然问题是下载相关的,我们一直在猜测,因为它的Android清单文件,我们已经拥有。

用户从Android Market下载应用程序时发生的第一件事是什么?因为当我们尝试下载我们的产品时,下载“开始”,然后错误消息“下载不成功”闪烁通过酒吧。

我们的产品是付费应用程序,交易成功,但当用户尝试下载它时,他们会收到错误消息。

看起来好像错误在我们提交了第一次更新后发生,尽管次要但没有任何改变,我真的不明白这会如何影响市场行为。

+0

用户下载时是否报告了任何特定错误? – 2011-01-31 12:39:37

+0

一些更多的信息会很好,例如对以下问题的回答:下载是否开始?如果下载开始,它完成?对你起作用吗?下载有多大? etc等 – Rich 2011-01-31 12:49:17

回答

6

这是47MB!这是我的三星Galaxy S说:

D/DownloadManager(2973): download aborted - not enough free space in internal storage 
D/vending (6634): [174] DownloadManagerBroadcastReceiver.handleDownloadCompletedAction(): Got a download completed intent. 
I/vending (6634): [174] DownloadManagerBroadcastReceiver.startNextDownload(): Found Paused URI null 
I/vending (6634): [174] DownloadManagerBroadcastReceiver.startNextDownload(): No more paused downloads. 
I/vending (6634): [174] DownloadManagerBroadcastReceiver.getDownloadStatus(): Unexpected status from download - 498 
W/vending (6634): [174] DownloadManagerBroadcastReceiver.handleDownloadCompletedAction(): Couldn't find pathname for completed download URI 
: content://downloads/download/188 -- assuming the download failed. 
D/vending (6634): [174] LocalAssetDatabase.notifyListener(): 9122500792911627655/DOWNLOAD_FAILED 
E/DataRouter(2577): [*] Received suspend/ resume event but DUN is not up so neglect 

没有足够的内部存储空间,毫不奇怪。

您的installLocation设置为?应该preferExternal(见http://developer.android.com/guide/topics/manifest/manifest-element.html#install

后来添加

胡胡男孩,这很烂......

您可以浏览源代码Android的下载管理器的位置:http://www.google.com/codesearch/p?hl=en#UMpkw0xvvPU/src/com/android/providers/downloads/Helpers.java

外推您可以做它发现下载缓存目录中剩余多少空间:

File base = Environment.getDownloadCacheDirectory(); 
long bytesAvailable = getAvailableBytes(base); 

public static long getAvailableBytes(File root) { 
    StatFs stat = new StatFs(root.getPath()); 
    // put a bit of margin (in case creating the file grows the system by a few blocks) 
    long availableBlocks = (long) stat.getAvailableBlocks() - 4; 
    return stat.getBlockSize() * availableBlocks; 
}  

我的三星Galaxy S报告只有30MB是免费的在这个缓存,因此这个问题。手机的整体内部存储空间非常巨大......我至少有1.5GB的免费空间。

很明显,有一些下载缓存限制政策在工作。非常讨厌你。

免费字节/缓存几部电话

三星Galaxy S:30756KB

歌Nexus One:94352KB

橙色旧金山:38988KB

0

2012年3月5日,Google宣布了一项新功能最多允许两个“扩展文件”的策略,每个文件最高可达2 GB。 APK仍然限制为50MB。以下是公告:

http://android-developers.blogspot.in/2012/03/android-apps-break-50mb-barrier.html

由于这种额外的文件下载从下载的APK单独发生,它很可能是,你可以通过移动你的APK的块到扩展文件解决您的问题以便将APK大小保持在您预期的最小下载缓存限制范围内(例如30MB)。

相关问题