[android] Download the Android SDK components for offline install

Is it possible to download the Android SDK components for offline install without using the SDK Manager? The problem is I am behind a firewall which I have no control over and both sites download URLs seem to be blocked (throws a connection refused exception)

https://dl-ssl.google.com/android/repository/repository.xml

http://dl-ssl.google.com/android/repository/repository.xml

Failed to fetch URL http://dl-ssl.google.com/android/repository/repository.xml, reason: Connection refused: connect

This question is related to android windows-xp

The answer is


I know this topic is a bit old, but after struggling and waiting a lot to download, Ive changed my DNS settings to use google's one (4.4.4.4 and 8.8.8.8) and it worked!!

My connection is 30mbps from Brazil (Virtua), using isp's provider I was getting 80KB/s and after changing to google dns, I got 2MB/s average.


To install android component do following steps

  • Run android sdk manager on offline machine
  • Click on show/hide log window
  • here youu will find all the list of xml files where packages are available

Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xml
Fetched Add-ons List successfully
Fetching URL: https://dl-ssl.google.com/android/repository/repository-7.xml
Validate XML: https://dl-ssl.google.com/android/repository/repository-7.xml
Parse XML: https://dl-ssl.google.com/android/repository/repository-7.xml

https://dl-ssl.google.com/android/repository/addons_list-2.xml is main xml file where all other package list is available.

lets say you want to download platform api-9 and it is available on repository-7 then you have to do following steps

  • note the repository address and go to any other machine which has internet connection and type following link in any browser

    https://dl-ssl.google.com/android/repository/repository-7.xml

  • Search for <sdk:url>**android-2.3.1_r02-linux.zip**</sdk:url> under the api version which you want to download. This is the file name which you have to download. to download this file you have to type following URI in any downloader or browser and it will start download the file.

    http://dl-ssl.google.com/android/repository/android-2.3.3_r02-linux.zip

    General rule for any file replace android-2.3.3_r02-linux.zip with your package name

  • Once the download is complete,paste downloaded ZIP(or other format for other os) file in your flash/pen drive and paste the zip file at <android sdk dir>/temp (ex:- c:\android-sdk\temp) folder/directory in your offline machine.

  • Now start the SDK manager and select the package which you have paste in temp and click Install package button. Your package has been installed.

  • Restart your eclipse and AVD manager to get new packages.

Note:- if you are downloading sdk-tools or sdk platform-tools then choose the package for OS which is on offline machine(windows/Linux/Mac).


You can download manually by parsing the XMLs that you see in Android SDK Manager log.
Currently the XMLs are addon_list and repository. These xmls can change over a course of time.

It has the location of the SDKs, you can browse to the link and download directly via browser. These files has to be placed under proper folder, example the files of google APIs has to be placed under add-ons, if you don't know where the files has to go.

Here is something to help you.
The blogpost from my blog to Install Android SDKs offline --> Offline Installation of Android SDK's


Here is how I figured it out. I am behind corporate firewall too.

Go to Chrome or your Internet Settings by clicking the wrench in Chrome --> Settings --> Under the Hood --> Network --> Change Proxy Settings

Click on LAN Settings and then Advanced. Copy the proxy server address and port.

Mostly the connection refused link occurs when trying to download SDK packages through Eclipse.

Navigate to the SDK Manager.exe and double click on it. Once it starts click on Tools --> Options and then enter the proxy server address and the Port #

Check the checkbox force https:// to http:// That's it your SDK Manager will now be able to download packages from google remote site without any issue even from behind a firewall.

I am on Windows by the way. Tried everything and this works great.


I work behind a firewall on windows and I have the Same problem. But I managed to fix it:

  • Close all your internet applications (browsers, downloading tools etc...)
  • Start -> Execute -> type cmd then hit Enter (displays the command prompt)
  • Type netstat
  • In the results returned, find your Proxy address :

    TCP YOURMACHINENAME:PORT DISTANTMACHINE1:PORT
    TCP YOURMACHINENAME:PORT DISTANTMACHINE2:PORT
    TCP YOURMACHINENAME:PORT DISTANTMACHINE3:PORT
    
  • Your proxy address is one of the DISTANTMACHINEx

  • Your proxy port is the port following the ":"
  • Retype this proxy address and the proxy port in the "setting" page of android SDK manager
  • Tick "force https...http://"
  • Retry

Which OS?

Everything you download should be placed in the android-sdk folder (in my case: j:\android-sdk-windows).

You can execute "SDK Setup.exe" (or the mac/linux command for this) and download everything and just copy your complete android-sdk folder to another computer. I have the complete SDK + Eclipse + Workspace on an external HDD that I can just plug in to another Computer and it works (except for JDK which should be installed and the AVD's which are located in the user directory). Don't forget to set the ANDROID_HOME environment var to point to your install dir.

Update: In the SDK Downloader you have a "force https:// sources to be fetched using http://" checkbox under the settings menu. Maybe check (or if checked) uncheck this may help you to download everthing from your firewalled computer.


This has changed for android 4.4.2. .. you should look in the repository file and download https://dl-ssl.google.com/android/repository/repository-10.xml

  1. android-sdk_r20.0.1-windows.zip ( I think that is actually windows specific tools)
  2. android-19_r03.zip for all platform ( actual api) and store under platforms in #1

In manual install dir structure should look like

Now you have to..

  1. download win SDK helper ( avd/SDK magr): https://dl.google.com/android/android-sdk_r20.0.1-windows.zip
  2. actual sdk api https://dl-ssl.google.com/android/repository/android-20_r01.zip
  3. samples https://dl-ssl.google.com/android/repository/samples-19_r05.zip
  4. images : https://dl-ssl.google.com/android/repository/sys-img/x86/sys-img.xml e.g. https://dl-ssl.google.com/android/repository/sysimg_armv7a-18_r02.zip extract in : “Platforms > Android-4.4.2>"
  5. platform-tools: https://dl-ssl.google.com/android/repository/platform-tools_r19.0.1-windows.zip
  6. build-tools: create folder (build-tools at main sdk level) https://dl-ssl.google.com/android/repository/build-tools_r17-windows.zip
  7. copy aapt.exe, aidl.exe and dr.bat to platform-tools folder.
  8. you may download tools as well same way
  9. source: https://dl-ssl.google.com/android/repository/sources-19_r02.zip

At this point you should have a working android installation.


There is an open source offline package deployer for Windows which I wrote:

http://siddharthbarman.com/apd/

You can try this out to see if it meets your needs.


follow this video https://www.youtube.com/watch?v=883HjO06_E0 for how to download and install Android SDK components manually


As said, this error usually comes if u stay behind proxy. So to get with this, open IE-Internet options-Connections-LAN settings and take the proxy address. Configure the SDK Manager.exe (settings tab) to that proxy address with port. Check Force Http....

If u have a Proxy script in your LAN settings, copy the address and paste in address bar. Open the downloaded file in notepad. Find your ip address from ipconfig. In the file, go the subnet range in which your ip falls. Eg: isInNet(resolved_ip, "198.175.111.0", "255.255.255.0") will be true for 198.175.111.53 take the return value: after the word PROXY and use this for configuring SDK Manager.

Now the SDK will be downloaded happily.


Most of these problems are related to people using Proxies. You can supply the proxy information to the SDK Manager and go from there.

I had the same problem and my solution was to switch to HTTP only and supply my corporate proxy settings.

EDIT:--- If you use Eclipse and have no idea what your proxy is, Open Eclipse, go to Windows->Preferences, Select General->Network, and there you will have several proxy addresses. Eclipse is much better at finding proxies than SDK Manager... Copy the http proxy address from Eclipse to SDK Manager (in "Settings"), and it should work ;)