Things you need:
A. SDK Starter package which just needs to be unzipped into a location (no installation as such):
Platform | Package | Size | MD5 Checksum |
Windows | android-sdk_r07-windows.zip | 23669664 bytes | 69c40c2d2e408b623156934f9ae574f0 |
Mac OS X (intel) | android-sdk_r07-mac_x86.zip | 19229546 bytes | 0f330ed3ebb36786faf6dc72b8acf819 |
Linux (i386) | android-sdk_r07-linux_x86.tgz | 17114517 bytes | e10c75da3d1aa147ddd4a5c58bfc3646 |
B. Platform package which is one or more of the various android versions for which you will be coding. Eg: 2.2, 2.1, 1.6, 1.5, etc.
This has to be selected and downloaded from within the Android SDK.
But Google was forcing me to download the platform package only through the SDK. Why can’t I have a set of zips I can reuse on my laptop, desltop1, desktop2 as needed instead of having to download the Android platform repeatedly from the net for each machine?
The answer was simple after a little investigation but apparently undocumented. See below steps for full offline installation:
1) First you need to download repository.xml file. To find out the download link for this file, launch Android AVD Manager (after unzipping the sdk, manually from %AndroidSDKDir%\tools\Android.bat or from the Eclipse plugin). Here, when you select available Packages, you will see the default target: http://dl.google.com/android/repository/repository.xml (maybe slightly different for you). Download this respository.xml file from the net (and close the AVD manager).
2) Open the repository.xml file and search for <sdk:platform>. You will see around 5 entries for each Android platform/version.
Identify the version you want and look for the platform filename inside the <sdk:url> tag. In my case, I wanted the 2.1 platform:
…
<sdk:platform>
<sdk:version>2.1</sdk:version>
<sdk:api-level>7</sdk:api-level>
<sdk:codename/>
<sdk:revision>02</sdk:revision>
<sdk:min-tools-rev>6</sdk:min-tools-rev>
<sdk:description>Android SDK Platform 2.1_r2</sdk:description>
<sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
<sdk:archives>
<sdk:archive os="linux" arch="any">
<sdk:size>72356359</sdk:size>
<sdk:checksum type="sha1">a89d32ddf9d8629f15e682bdf220a88ca2392349</sdk:checksum>
<sdk:url>android-2.1_r02-linux.zip</sdk:url>
</sdk:archive>
<sdk:archive os="macosx" arch="any">
<sdk:size>71054909</sdk:size>
<sdk:checksum type="sha1">8492e2f0b61819c4ca2e16601fc3260b341a3f06</sdk:checksum>
<sdk:url>android-2.1_r02-macosx.zip</sdk:url>
</sdk:archive>
<sdk:archive os="windows" arch="any">
<sdk:size>72950641</sdk:size>
<sdk:checksum type="sha1">00cfb0bbbf24fc56c493990186deb0bfd44630e5</sdk:checksum>
<sdk:url>android-2.1_r02-windows.zip</sdk:url>
</sdk:archive>
</sdk:archives>
</sdk:platform>
…
3) In the url obtained from step 1 (http://dl.google.com/android/repository/repository.xml), replace repository.xml with the identified filename to get the actual url of the platform file. So in this example, the url would be: http://dl.google.com/android/repository/android-2.1_r02-windows.zip
Download this file (by typing into your browser url for eg).
4) Once the file is downloaded, extract this file into the <Androidsdk>\platforms directory. So you would end up with a new directory here as %AndroidSDKDir%\platforms\android-2.1_r02-windows.
That’s it!
If you now open the AVD manager again and click on Installed Packages, the extracted platform will show up as “SDK Platform Android a.b-update c, API d, revision e”
Use similar steps to download any Addons like Google APIs, but extract the Add-ons into %AndroidSDKDir%\add-ons directory. Just make sure that before you install the Addons, you have the corresponding platform already unzipped into the platforms directory.
To summarise, now I don’t need a net connection when to install the full android SDK – I just have to keep the following files handy:
· android-sdk_r07-windows.zip (unzip into a location where you want to install Android SDK, %AndroidSDKDir%)
· android-2.1_r02-windows.zip (unzip into %AndroidSDKDir%\platforms)
· google_apis-7_r01.zip (unzip into %AndroidSDKDir%\add-ons)
· ADT-0.9.9.zip (optional but useful Eclipse plugin – see here how to install this offline into Eclipse)
Happy droiding!
helpful post. but i used this method to download the compatibility zip file, and samples and documentation. which directory will i put them in.
ReplyDeletehelped a lot to install android sdk from the proxy of my college..thanks..
ReplyDeletevery helpful! i would also note a link from stack overflow
ReplyDeletei came back for a second time, and it was for the DIRECTORY in which to unzip stuff.
ReplyDelete"To summarise, now I don’t need a net connection when to install the full android SDK – I just have to keep the following files handy:
· android-sdk_r07-windows.zip (unzip into a location where you want to install Android SDK, %AndroidSDKDir%)
· android-2.1_r02-windows.zip (unzip into %AndroidSDKDir%\platforms)
· google_apis-7_r01.zip (unzip into %AndroidSDKDir%\add-ons)
· ADT-0.9.9.zip (optional but useful Eclipse plugin – see here how to install this offline into Eclipse)
"
this is especially useful. after i unziped the .zip's into the destinatins, the SDK Manager reported (when i run it) that those packages that i have unziped are 'installed'. which is satisfying.
i would suggest adding
ReplyDeleteusb_driver_r04-windows.zip (unzip all files in the same folder as the inf file into %AndroidSDKDir%\extras\google\usb_driver)
Happy to see you all found this useful.
ReplyDelete@Eason Chen
i guess the usb driver is required while debugging your app on a real phone? I got detracked from further android exploration right after this post.
yes, i suppose it is needed. i have debugged on my android tablet, and got a little hello world running fine. but i also suppose that the 'usb-driver' alone is not sufficient. i actually somehow installed the driver when i just rooted my tablet. anyway, this article really helps, and as you can see, i'm back again...
Deleteoh wait...i found a way more straightforward/universal way of installing (expectedly) any SDK package. the method was mentioned by 'sathya' in the stackoverflow page i mentioned, and i HAVE noticed it, but didn't understand it - now i do!
ReplyDeleteput any zip into "%SDK dir%/temp" and run SDK Manager as if to install online. and everything would be dealt with!
tested with my internet connection disabled! simply neat and gives a peace of mind~
nice!
ReplyDeleteplease give me the procedure to get the addon file for the offline installation,I am new in this....
ReplyDeletecheck it out
Deletehttp://lijnam.blogspot.com/
check it out
Deletehttp://lijnam.blogspot.com/
I read this blog it's really good to see thanks for sharing please share more content on Android Online Course
ReplyDelete