下载未签名或签名不正确的 apk 文件导致数据丢失
背景:
* 我是 Android 开发新手,但我是一名程序员/前端 Web 开发人员,所以我对这类事情并不完全陌生
* 我的个人手机是 Verizon 的 Samsung Droid Charge - 我不确定这是否真的重要。
问题:
我似乎丢失了所有照片和视频,因此我正在联系是否有人知道我是否确实遇到了麻烦,或者是否仍有希望恢复丢失的数据。
我认为导致问题的原因:
我按照有关如何制作简单的 Hello World 应用程序的教程进行操作,作为学习如何使用 Eclipse 进行开发的第一步。当时我对签署申请并不熟悉。所以,我只使用了项目 bin 文件夹中的 apk。我使用 FileZilla 将其放置到我的网络服务器上,并将我的手机浏览器指向该文件。它下载了它,但是当我单击它时,它说“文件太大”。或“应用程序太大”。或“没有足够的空间来安装。”或者类似的东西。该应用程序只有 28k,但我确信这与我在手机上尝试使用它之前没有正确签名有关。
所以 - 我的理论是,因为它认为它“太大”,所以它删除了我手机上太大的其他东西,以便为它腾出空间。我注意到我的手机突然忘记了所有铃声和其他声音设置 - 因为它将它们全部移至我的 32GB micro-SD 卡(手机附带)中。以前,这些数据与我的照片和视频一起存储在内部存储器中。但是 - 当我从应用程序转到“我的文件”时,我现在甚至无法查看内存中的文件。为什么会发生这种情况,我不知道 - 它似乎不像是一个非常好的功能。我办公室的一位开发同事提到,这可能是 Verizon 出于某种奇怪的原因而设置的。
如果照片还在那里(很有可能),我不知道如何查看它们。图库应用程序无法识别任何文件,否则我完全无法查看我的内部存储器 - 即使使用名为 AndExplorer 的程序。*
作为 Android 的新开发人员,这非常令人沮丧。当然,也许我应该在自己的设备上测试我的应用程序之前备份我的数据,但绝对没有理由发生这种情况。
我确信我不是唯一一个这样做过的人。我尝试在整个网络和堆栈溢出上搜索该问题,但找不到任何内容。 非常感谢任何和所有的帮助。我当然已经吸取了教训 - 在测试任何东西之前我需要备份我的东西。
*编辑:事实证明我实际上可以使用 AndExplorer 查看内部存储器,但就我丢失的照片和视频而言,那里似乎没有任何内容。
Background:
* I am new to developing for Android but I am a programmer/front-end web developer so I'm not totally new to this sort of thing
* My personal phone is the Samsung Droid Charge, on Verizon - I am unsure if this will really matter or not.
Problem:
It seems like I have lost all of my photos and videos, so I'm reaching out to see if anyone knows whether or not for sure I am in trouble, or if there's still hope of recovering this data loss.
What I believe caused the problem:
I followed the tutorial on how to make a simple Hello World application, as a first step in learning how to develop using Eclipse. I was unfamiliar, at the time, with signing applications. So, I just used the apk which was in the bin folder of my project. I placed it onto my web server using FileZilla, and pointed my phone browser to the file. It downloaded it, but when I clicked on it, it said something along the lines of "File is too big." or "Application is too big." or "Not enough room to install." or something along those lines. The application was only 28k, but I'm sure that it had something to do with the fact that I did not sign it properly before attempting to use it on my phone.
So - my theory is that since it looked at it as "too big," that it removed other things on my phone which were too big, in order to make room for it. I noticed that my phone suddenly forgot all my ringtone and other sound settings - because it moved them all to my 32GB micro-SD card (which came with the phone). Previously, this data was stored on the internal memory along with my photos and videos. However - I am now not even able to view the files on my internal memory when I go to "My Files" from the apps. Why this would happen, I don't know - it doesn't seem like a very good feature to have. A fellow developer at my office mentioned that it may be something Verizon has set in place for some odd reason.
If the photos are still there, which is very possible, I'm not sure how to view them. The gallery app does not recognize any files, and I am otherwise completely unable to look at my internal memory - even using a program called AndExplorer.*
As a new developer for android, this is extremely frustrating. Sure, perhaps I should have backed up my data before testing my app on my own device, but there's absolutely no reason that this should have happened.
I'm sure I can't be the only one who has ever done this. I tried searching for the issue ALL OVER the web AND on stack overflow and was not able to find anything.
Any and all help is greatly appreciated. And I have certainly learned my lesson - I need to back up my stuff before testing anything.
*EDIT: It turns out I actually can view the internal memory using AndExplorer, but there doesn't seem to be anything on there, as far as my missing photos and videos.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的 Web 服务器是否为 APK 文件配置了正确的 MIME 类型?
我对此比较怀疑。您必须明确采取措施来避免签署APK。
这似乎不太可能。即使属实,这也是 Verizon/Motorola 的问题,而不是 StackOverflow 的问题,因为只有它们可以帮助您解决最终用户设备问题,例如丢失数据。
在正常的发育过程中并不是这样的。
您可能是地球上唯一一个因尝试安装 hello-world APK 而导致照片等丢失或放错位置的人。
那你就没有吸取教训。您需要备份您的“东西”,除非您个人无懈可击,并且相信这种保护会扩展到您的设备。否则,您和我们其他人一样,很可能会不小心将手机浸入厕所、被面包车碾过、陷入天然气管道恐怖袭击引发的火球中等等。在这种情况下,您也会丢失数据。
简而言之,Android 开发通常不会对设备产生不利影响,当然不仅仅是安装应用程序的行为。无论您遇到什么问题,都是由于某些事件组合触发了 Charge 中的某些错误(可能只是您的个人设备)。
顺便说一句,在设备上测试应用程序的首选方法是使用 USB 电缆,然后在设备本身上从 Eclipse 运行它。 FileZilla 和从 Web 下载可以与正确配置的 Web 服务器一起使用,但这通常会在开发过程的后期保留。
Is your Web server configured with the proper MIME type for APK files?
I rather doubt that. You have to explicitly do things to avoid signing an APK.
That seems unlikely. Even if true, this is a question for Verizon/Motorola, not StackOverflow, as only they can help you with end user device issues such as lost data.
It doesn't, in the course of normal development.
You are probably the only person on the face of the planet whose photos, etc. were lost or misplaced as the result of trying to install a hello-world APK.
Then you did not learn your lesson. You need to back up your "stuff", period, unless you are somehow personally invulnerable and believe that this protection will extend to your device. Otherwise, you are as likely as the rest of us to have your phone accidentally get dunked in a toilet, run over by a bakery truck, caught in a fireball triggered by a terrorist attack on a natural gas pipeline, etc. And, in those cases, you would lose your data as well.
In a nutshell, Android development does not typically adversely affect a device, certainly not the mere act of installing an app. Whatever problem you have experienced is due to some combination of events triggering some bug in the Charge (possibly just your individual device).
BTW, the preferred way to test an app on a device is to use the USB cable, then run it from Eclipse on the device itself. FileZilla and downloading from the Web can work with a properly-configured Web server, but that's usually reserved for later in the development process.
CommonsWare,你所说的有些内容很有帮助,但有些则没什么帮助。谁说我还没有备份数据?也许我做了,但我只是一天没做?你对我的情况不太了解。也许我只缺少一天的照片。你不能明确地说我没有吸取教训。我将决定我是否吸取了教训;)。这不应该是我的主要关注点,为此我深表歉意。
我对为什么发生这种情况比对取回数据更感兴趣。我当然不希望这种事再次发生。如果它与“大小”或正确的签名无关,还有什么可能导致这样的事情发生呢?就像我说的 - 我是开发手机应用程序的新手 - 我只能使用 Android 提供给我的开发人员指南来假设这么多。许多步骤都假设用户知道某些事情。也许这是我的错,我应该从其他地方开始学习基础知识。
但我仍然证明这个问题一定是由该应用程序引起的。我没有改变哑剧类型的任何内容,但根据你所说的,这不应该影响事情。这应该不会对数据丢失产生任何影响。然而,毫无疑问,它确实做到了。
我使用了一个程序来扫描闪存驱动器,看看是否可以找到任何已删除的文件。那行不通。所以我几乎放弃了取回数据。就像我说的——我的重点应该是防止它再次发生。
CommonsWare, some of what you've said is helpful, but some of it not-so-much. Who says I don't already backup my data? Perhaps I do, and I just hadn't done it in a day? You don't know that much detail about my situation. Maybe I am only missing photos from one day. You can't definitively say I have not learned my lesson. I'll decide if I've learned my lessons or not ;). That should not have been my main focus and for that I apologize.
I'm more interested in why this happened than I am interested in getting my data back. I certainly wouldn't want this happening again. If it has nothing to do with "size" or proper signing, what else could possibly ever make something like this happen? Like I said - I am new to developing apps for phones - I can only assume so much using the developer guide provided to me by Android. A lot of the steps assume that the user knows certain things. And perhaps that's my fault and I should start somewhere else for basics.
But I still attest that the issue must have been caused by the app. I did not change anything with mime types, but according to what you're saying, that shouldn't affect things. That should not have had any effect on data loss. Yet, it absolutely, without a doubt did.
I've used a program to scan the flash drive to see if it could find any deleted files. That didn't work. So I've pretty much given up on getting the data back. Like I said - my focus should just be to prevent it from happening again.