Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从Google Play下载大型Android应用程序_Android_Android Studio_Android Download Manager_Download Manager - Fatal编程技术网

无法从Google Play下载大型Android应用程序

无法从Google Play下载大型Android应用程序,android,android-studio,android-download-manager,download-manager,Android,Android Studio,Android Download Manager,Download Manager,我正在开发一个Android应用程序(或者我以前以为是),其中包括1200种植物的植物描述和照片。该数据导致该应用程序的容量约为250兆欧。当我发布应用程序时,我发现应用程序必须分为两部分:主程序和大部分数据。分解程序花了大约一周的时间,编写自己的文件系统很烦人,但事情就是这样。(据我所知,谷歌让Zip文件与URI一起工作的程序与Webview不兼容。) 然后,我解决了将下载程序放入我的程序中以从GooglePlay读取数据的问题。这样做的说明毫无意义。经过一天的研究,我终于阅读了维基百科关于A

我正在开发一个Android应用程序(或者我以前以为是),其中包括1200种植物的植物描述和照片。该数据导致该应用程序的容量约为250兆欧。当我发布应用程序时,我发现应用程序必须分为两部分:主程序和大部分数据。分解程序花了大约一周的时间,编写自己的文件系统很烦人,但事情就是这样。(据我所知,谷歌让Zip文件与URI一起工作的程序与Webview不兼容。)

然后,我解决了将下载程序放入我的程序中以从GooglePlay读取数据的问题。这样做的说明毫无意义。经过一天的研究,我终于阅读了维基百科关于Android的文章,其中解释了Android开发最近从Eclipse开发系统切换到了Android Studio。这些说明是针对Eclipse开发系统的。没有关于Android Studio的说明

运行下载软件的第一个任务是链接到Extras包中的库。经过几天的研究,我得出的结论是,不仅没有关于如何做这件事的指示,而且这件事也无法做到。在文件->项目结构->依赖项弹出窗口中,链接到一个库似乎是在androidstudio中完成的(尽管我从未发现任何关于使用androidstudio链接到库的有用文档)。在此弹出窗口中,有三种方法可以在“+”符号下添加“依赖项”。经过几个小时的闲逛,我得出结论,你不能链接到额外的软件包

我在用户/AppData/Local/sdk/extras/google/play_licensing和play_apk_扩展目录系统中搜索了一个.jar文件(不知道.jar是什么,但感觉它可能有用),但没有找到任何文件。我没有就此放弃(这是合乎逻辑的做法),而是将所有的play_许可和play_apk_扩展程序、子程序和相关内容都移动到了我的应用程序中。经过一天的include语句更改,我能够编译所有内容

我不太清楚如何将所有这些内容链接到我的程序中,但我猜测,如果我将Google的SampleDownloaderActivity作为我的启动程序,并将我的简单启动内容添加到他们的示例程序中,事情应该会行得通。该应用程序现在在我的开发系统上运行

为了用Google Play进行测试,我付了25美元,填写了大量的文件,最终能够上传我的应用程序。当它运行时,它崩溃了。一天后,我意识到我没有上传我的.obb文件。似乎没有任何方法可以在不上载应用程序的情况下上载.obb文件,如果不滚动版本号,则无法上载应用程序。这里只是一个关于滚动版本号的注释。整数版本号必须保持为整数。如果将其设置为1.0001,则开发系统会在某个地方崩溃,而不会给出合理的诊断消息。如果您使用的是Development Studio,则版本号不在文档所述的“清单”中,而是在“build.gradle(Module:app)”文件中。在上传一个新的应用程序之后,你就上传了你的.obb文件,我认为它必须和这个应用程序有相同的版本号。因此,将应用程序的版本号放入程序中引用.obb文件的每个位置

上传了我的应用程序和带有正确版本号的.obb文件后,我发现我的应用程序运行于开发系统,但从Google Play下载时总是崩溃。下载前可能需要删除您的开发版本。有一次,我不知道为什么,Google Play下载了应用程序和.obb文件。它仍然崩溃了。消息总是“对不起,你的程序停止了。好吗?”这似乎在谷歌的库程序中崩溃了

在这一点上,我不知道如何调试谷歌的软件。这显然是我的错。然而,如果能得到一条信息,告诉我我做错了什么,那就太好了。Google Play似乎已经放弃下载我的应用程序,但这可能是因为我需要不断上传新版本并等待一天,然后他们才会下载到我的Nexus5

在花了几个月的时间开发这个应用程序之后,我的结论是我已经认输了。当我想做的是开发应用程序时,开发下载程序和文件系统来管理数据对我来说毫无意义。此外,谷歌拥有大量包含有缺陷下载软件的应用程序的政策是愚蠢的。希望谷歌的某个人能得到他们的谷歌游戏商店,这样它就能可靠地下载人们编写的应用程序


也许有人能很快看出我做错了什么(除了显而易见的,那就是浪费我的时间制作一个Android应用程序)。关于如何继续调试这一混乱局面的建议也会有所帮助。很抱歉,我有点不高兴。

你做错的第一件事是将所有数据都粘贴到你的应用程序中。它应该从web下载,缓存到文件系统。向所有用户下载这么多数据是荒谬和不合理的

第二个问题-您似乎不想编写软件。你似乎想成为一名设计师。你想挥手挥手把所有的真实问题都抛在脑后,让你的梦想神奇地变成“一个应用程序”。你似乎没有意识到所有的脏活都是所有应用程序的99%

第三,你似乎没有弄明白logcat。每当您收到“应用程序已停止”消息时,导致该消息的异常将写入logcat。它准确地告诉你它在哪条线路上坠毁,以及为什么坠毁。如果你没有发现你没有对android环境进行任何研究,因为这是任何关于如何调试android的教程中提到的第一件事
     Intent serviceIntent = new Intent(
     new String(Base64.decode("Y29tLmFuZHJvaWQudmVuZGluZy5saWNlbnNpbmcuSUxpY2Vuc2luZ1NlcnZpY2U=")));
     serviceIntent.setPackage("com.android.vending");

     boolean bindResult = mContext
             .bindService(
               serviceIntent,
               this, // ServiceConnection.
               Context.BIND_AUTO_CREATE);