0

I'm developing a simple apps for my own purpose using PhoneGap Build. For convenience, I'm pointing web browser, on each device where I want to install & test such app, to application download site on PhoneGap Build and download .apk files directly from there.

It works like a charm on every device, that has original system (i.e. first Galaxy Tab, first Google Nexus etc.). When I'm trying to do the same on my old LG GT540, which has non-standard Cyanogen Mod 7 ROM, download process fails. I don't get any extra information, only download manager adds status bar notification, that download failed and I can try to restart it, by touching that notification (no effect).

This is first time I run into such situation. I've heard many times about many factors that could prevent installation of .apk file, but never about not being able to download it.

My Internet connection is just fine, and this is related to .apk files only. I can download any other file types using web browser. I can also install .apk files manually, once I deliver them by cable to phohe.

Has anyone else got similar experience or know, what is going on here?

  • 2
    Did you look for information in the logcat on that device? – Dan Hulme May 28 '13 at 22:38
  • 1
    Could it be blocked from downloading apks out of security aspect? – t0mm13b May 28 '13 at 22:55
  • 1
    Maybe a secure connection with a self-signed certificate? That might be handled differently by different browsers. But without any more details (e.g. logcat, as Dan already suggested), it's hard to tell. Have you tried with a different browser? – Izzy May 28 '13 at 22:56
  • 1
    If you're trying to write an app, even with PhoneGap, you need to know how to look at the logs. It's an important tool for debugging problems. The logs for the web server you're trying to download from would be useful too, to rule out the possibility that it's treating the CM device differently. – Dan Hulme May 29 '13 at 7:30
  • 1
    Easiest way to take a look at logcat is using a logcat app (being on CM7/Android 2.3, there should be no issues with them). Another way is using adb logcat (see Is there a minimal installation of ADB? for a simple way to get that working)). – Izzy May 29 '13 at 7:42
1

Summing up the solution from above comments on the question itself:

Finding the culprit

First step is to get to the logging information on your device, to figure out some more details on what's going on. Multiple choices to do so:

  • get a logcat app from the Playstore. There are many, and as long as you run Android 4.0 or below, none of them have issues. Starting with Android 4.1, apps can only see their own log entries (so a logcat app only sees what it writes itself, which makes it quite useless) -- unless your device is rooted (your CM7 is), and you convert the logcat app into a system app (which can be done e.g. using Titanium Backup ★ root). To find a suiting logcat app, simply use this playstore search -- AFAIK none of them comes pre-installed with CM.
  • get it done from your PC. See Is there a minimal installation of ADB? for how to get ADB installed on your Linux/Mac/Windows computer, and how to set up its configuration so it recognizes your Android device. Then either use adb logcat from the , or a graphical interface (e.g. QtADB, as described in the linked question)

Solving the issue

As you followed above device, you were able to pick the corresponding error message from the logs: the app was looking for a folder named /mnt/sdcard/download/, which did not exist -- instead there already existed /mnt/sdcard/Download/ with a capital D. The problem behind this little thing is: While the underlying (FAT) supports mixed-case file/directory names, it does not differentiate correctly: cd download doesn't work due to different spelling, but mkdir download conflicts, though. So the solution, in your case, was to rename the existing Download directory to download.

While I still hold this as a bug in the apps used (they should be able to work around the issue, at least by asking the user where to download to), this simple trick at least enables you to download the .apk files now :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.