This web-site requires
JavaScript to run, be so
kind to enable it in your
browser settings.

AutoUpdateAPK Manual

If you are still puzzled, what is this all about, here's a situation we had a few weeks before. Our company employs people, who use Android devices to collect and send some information back to us. They use our proprietary software, which is not available on the Market. That people don't come to the office often. They might be on the other side of the globe.

Time passes, bugs appear and get fixed, requirements change and occasionally we need to deploy software updates. Before we had AutoUpdateAPK, we might have had to contact HR office, get phone numbers, call the people, beg them to update, then call again and remind, and maybe within a week the new version gets installed.

What do we do now? A few mouse clicks, upload and forget. Eventually, everyone gets connected to the internet and automatically updated. All this absolutely without our participation. We might not even know exactly how many devices are out there, but we are sure they all get fresh versions in time.

auto update apk screenshot

Requirements

AutoUpdateApk supports Android software version 2.1 (Eclair, minSdkVersion="7") and higher, running on some kind of Android device with an internet connection.

Since you don't put your software on Android Market, you have to enable "Unknown Sources (Allow installation of non-Market applications)" in Settings :: Applications. Otherwise you won't be able to install your software or updates.

The first installation of the software on customers devices ought to be done by manually following download link or scanning QR code. After that, the AutoUpdateApk will check and download updates automatically.

Android client code is licensed under the Apache License v2.0 and can be integrated into closed-source proprietary products. Unlike "copyleft" licenses (such as the GPL), we do not impose any restrictions on redistribution of code. You may freely download it, view, change or include in your software without any limitations.

Permissions

You have to set the following permissions in your Android Manifest:

  • android:name="android.permission.INTERNET"
  • android:name="android.permission.ACCESS_NETWORK_STATE"
  • android:name="android.permission.ACCESS_WIFI_STATE"

The first one allows your application to access the internet, the other two allow to avoid draining the battery when the appropriate network is not available.

Application uploads

You may upload application on the Applications page (available in the top menu). Click "Browse" button to select the file from your computer, and then click "Upload" button. The file should appear on your page shortly. Only valid Android application (.apk) files are recognized, everythig else is discarded.

Application downloads

To download application you may click on the Application name or scan the QR code on the Application page. This QR code and download link are supposed to be given to your customers, so they can install the software on their devices. The link and QR code stays the same for the whole lifetime of your application, you need to copy/distribute them only once. If you publish the new version of your app, people trying to download using QR code or download link will be automatically served the newest version.

If you would like to download a particular version you have uploaded (and haven't deleted yet), you may click on that version icon.

Please, note, the correct download link looks like "http://www.auto-update-apk.com/download/com.your.package.name". Links including "/fetch/" and long encoded string are intended for your personal use and not for distribution. If you try to use "fetch" links to distribute your software you should be aware that:

  • your customers will get that particular version of software, not the latest one as with "download" links
  • "fetch" links, unlike "download" links, might eventually stop working, leaving your customers upset

To reiterate, please, don't distribute "fetch" links, use "download" links instead. You may get "download" link by scanning QR code or right-clicking your application package name on the Applications page.

Delete Application

You may delete application by clicking Trash icon – – on the right. First time the Trash icon is clicked, only the application file (.apk) is deleted to save disk space, but application name, icon and download statistics is preserved. To remove the application completely, please, click Trash icon once again.

Collaboration

Collaboration allows several people to work on the same project without sharing the same Google Account. The project owner may choose other members to collaborate with. The new members can upload applications and delete old versions, but have no access to the project owner account or subscription settings. Basically this feature is designed with the one Project Leader in mind, who is responsible for task assignments and download traffic, and several Project Members, who create the software and may be brought to one project or another without claiming the project ownership.

  • You may allow other people to upload/delete files from your project, by manually adding them as a collaborators (for that specific project). They won't see and cannot touch any other your project unless added as a collaborator there as well.
  • They will use their own accounts with their own account settings when accessing the site (time zone, other preferences) — no access to your subscription or other money-related things.
  • You may choose who can access which application and revoke the access rights at any time by deleting the person from the collaborator list. When you delete a collaborator, (s)he will keep his/her account and other apps (s)he was working on at the moment.
  • When you add a collaborator, you don't get any access to other projects of that person, you're only giving a shared access to your own project.
  • The person you add to collaborate on the project must have prevously logged in on AutoUpdateAPK at least once.

Direct Downloads option

Direct Downloads are enabled by default, which means you may publish URL or QR code on your web-site and people will be able to download your application using that URL. If you don't publish the URL, nobody will know about your application (we don't allow search engines to crawl our web site). However, if you need an additional protection against people who somehow found out your download URL, you may disable Direct Downloads from your Account page.

Please, note, if you have Direct Downloads disabled, you may need to manually install your application on your customer's devices since they won't be able to download it. Direct Downloads option does not affect the update process once someone has your application on their device.

Distribution Policy option

Distribution Policy allows any device to receive updates by default. If you prefer to restrict the software updates to a fixed list of your application versions, you may change Distribution Policy to "Locked". In which case only the people who have the application file with the MD5 sum listed in your application list will be able to update. If someone has the application with unlisted MD5 sum, (s)he won't get any updates. Please, note, for this option to work correctly you need to upload (and keep) all your previous versions for MD5 comparison. If some previous versions are missing, the users of these particular versions will be locked out of update process.

If you prefer to save disk space, you may Trash previous applications to mark them as "deleted", the MD5 sum still stays and allows the updates. However, if you click Trash second time and the application version is gone from the application list, the users of that particular version won't be able to get updates until you reupload it again (or change Distribution Policy back to "Open").

How much does it cost

For the private developer or personal projects it's basically free as long as you don't consume too much resources (initially 1GB and then approximately 100MB/month, subject to change). Once over the free quota, the paid subscription is required, which is supposed to cover the price of consumed storage/bandwidth up to a few dollars/gigabyte (again, subject to change). There's no additional charge for publishing too many applications or deploying on too many devices. After all, if you have 1 million devices deployed, we'd like to work with you, not to punish you.

What to do next?

If you still have questions, please, open an issue or contact us. Otherwise, you may proceed to source code download.

Get the source »