[Epic 4G Android Development] BThomas22x:
Setting Up Android SDK for Windows Platforms

If anything doesn't work, or you don't follow directions based on this guide, I will not be held responsible for any outcomes. You are choosing to do this 100% on your own, I am only providing the information to get started. At this point, you are taking your actions into your own hands and are warned about your decisions.

The purpose of this is to familiarize you with setting up Android SDK for Windows. After reading through this tutorial, hopefully you will be able to feel a little more comfortable with setting it up and using it. I will tell you how to set it up, and after that, if you are a little more comfortable you can place the folders wherever you like for a little more convenience for yourself, but as for this tutorial, I am going to have a set destination for everything. So let's begin.

Index:

Download Links.......................................................................................................................................Part I

What Is Android SDK?.............................................. ................................................................................Part II

Setting Up Android SDK............................................... ............................................................................Part III

Basic Command Examples.......................................... .............................................................................Part IV

Summary of Android SDK............................................... ..........................................................................Part V

Part I: Anroid SDK Download Links.

In order for you to get Android SDK set up and running properly, you must first make sure you have the right files. Below this short description, I have included the download links. This tutorial will show you how to setup Android SDK for the Windows platform. I'm going to be completely honest and say that it's the only platform I know how to set it up for, as it's the only platform I have used personally for Android SDK. You can search online for setting up the SDK with other platforms.

Links:

Android SDK Windows Installer.exe

Android SDK Mac OS X (intel) .zip

Android SDK Linux (i386) .tgz

Part II: What is Android SDK?

Android SDK is a very useful tool that allows developers and users alike to take more control of their devices. Was there ever a time, where you wanted to add/remove something from your phone, but it just wouldn't let you?. Have you ever needed to test something that wasn't working, and you needed to find out why? Ever encountered the most famous of lines "Permission Denied"? All of those questions have been asked by many, and with this tutorial, I'm hoping to at least answer some of the many questions surrounding Developing on an Android device. There are many uses for Android SDK, which I hope to cover in this instructional "blog" without boring you guys to death lol. Without getting to indepth at this point as to what SDK does, let's just go over a

FEW

benefits of using SDK.

1. Debugging. SDK helps you in so many ways, one of the most beneficial being debugging. If you're developing an app for your device, and you are running into constant force closes, then you can fire up SDK and try to find out why.

2. Testing. If you don't feel quite comfortable with testing certain things on your own device, Android SDK also allows you to use an emulator on your computer with real life interactions to show you exactly what would happen if you added/removed something from your device.

3. Rooting. Most of the Rooting techniques we have for the Epic consists of One Click methods brought to you by smart Dev's that like to make things easier for you. Before that, we had to manually push the files to the phone, and put them in the correct places. Sometimes, people don't get so lucky with the One Click method and must revert back to the "Prehistoric Method" lol.

4. Installing Apks. If you have an app that you want to put on your device, but don't have the convenience of adding it with an application manager of some sort, then you can always use the SDK to do so.

5. Adding/Removing Files. A lot of times, certain files managers don't show you everything you need to see in order to do particular things you want to do. With Android SDK, as long as you know the directory, you can move the files. Some times, you may need to set permissions before hand, but that is also capable with SDK.

There are MANY more options for the Android SDK, but I want to keep it short and sweet and not bore you guys too much lol.

Part III: Setting Up Android SDK.

THIS METHOD IS ONLY FOR WINDOWS USERS!

Ok, you've downloaded the correct package for windows, and you're ready to set up Android SDK on your computer. What now?

The windows installer.exe SHOULD check for Java on inital install and install it if you don't have it on your system already. The following statement is basically just for users who have problems after install should it not install Java for your system. If you do not have Java on your computer, you will need to download it at this point. Click here on JDK to download the Java Development Kit. This kit will allow you to run Android SDK through its various Java options.

THIS STEP IS OPTIONAL, YOU DO

NOT

NEED TO DO THIS FOR SDK TO FUNCTION PROPERLY!

Optionally, if you are planning on developing through Eclipse, then you will also need to install any plugins for it that require Android SDK to operate with Eclipse. The plugin is called the Android Development Tools or ADT Plugin. If you are new to Eclipse, but would like to start learning to develop applications and more, and don't have it on your machine yet, you can download it from here. You

MUST

make sure that the version of Eclipse that you are installing is suitable for Android. Eclipse recommends versoin 3.4 or higher, and I personally use Eclipse: Galileo, which can be found here.

Now that you have downloaded and installed the Java requirement and Eclipse (only if you chose it, it is NOT required), it's time to actually setup the Android SDK on your computer. When installing SDK to your system, it will allow you to set the path to where it is being installed. Personally, to have the most ease when using it, I chose to place it directly on the C: Drive. Make a note of the directory when installing should you want to use the ADT plugin for Eclipse later on. Just click on the installer.exe that you downloaded for Android SDK, and follow the on screen prompts to get it installed.

OPTIONAL ECLIPSE INSTALL, PLUGIN DIRECTIONS

If you choose to install Eclipse, here are a few steps to get the Anroid Development Tools (ADT) Plugin setup for doing so. Android Development Tools (ADT), is designed to give you a powerful, integrated environment in which to build Android applications. It extends the capabilites of Eclipse to let you quickly set up new Android projects, create an application UI, debug your applications using the Android SDK tools, and even export signed (or unsigned) APKs in order to distribute your application. In general, developing in Eclipse with ADT is a highly recommended approach and is the fastest way to get started with Android.

If you'd like to use ADT for developing Android applications, install it now. Read Installing the ADT Plugin for step-by-step installation instructions.

At the end of the Android SDK install, you are given the option to “Start SDK Manager (to download system images, etc.), go ahead and allow SDK to start. You are presented with a list of packages that will be installed. The list is rather long and contains packages for developing on all versions of Android going back to Android 1.5. If you would like to install all of these packages, go ahead, but they are not necessary for ADB. If you only plan on using ADB, click “Cancel”. Keep in mind, you can always add packages if you decide you would like to develop.Once you hit cancel, you are now in the Android SDK and AVD Manager. In the left pane select “Available Packages” and in the right pane expand “Android Repository” by clicking the “>” next to it. The only package we need for ADB is “Android SDK Platform-tools”. Put a check in the box for that package and select “Install Selected” and in the next window click “Install”. You are prompted to restart ADB, go ahead and click “Yes”. Now, you can close all windows.

One last thing we need to do is to add ADB to our PATH so that ADB will run from any command prompt. To do this Go to Start-->Control Panel-->System and select Advanced System Settings in Windows 7 or Advanced Tab in XP. Click Environment variables. Under the “System Variables” section, find PATH and double click. In the Variable Value box, at the end put C:\Program Files\Android\android-sdk-windows\platform-tools seperating the previous entry with a semi colon. For x64 you would use C:\Program Files(x86)\Android\android-sdk-windows\platform-tools.

Now we just gotta check to make sure that it was all installed correctly. To test if we have been successful, plug your phone into your PC, allow the drivers to see your phone, and then open a command prompt. At the command prompt type adb devices . You should see ADB return with your device number.

Part IV: Some Basic SDK Commands.

There are plenty of commands that you can use through SDK, but I will give you a couple to help you with what you need to do. Before you can use any of the commands, you will first need open Windows command prompt to CD to the directory to which you installed your SDK. As I said before, I installed mine to my C: Drive directly, so for me to CD to that directory, the command looks like this.

cd C:/SDK/Tools

To make it even easier, you can hold "Shift" and right click on the "Tools" folder of your SDK and it should bring up a menu in which you can choose "Open Command Prompt". It will then be directly CD'd to that directory without you having to do any thinking :).

Now that you are CD'd to the SDK/Tools Directory, you can start performing actions. You

MUST!

have the drivers for the Samsung Epic 4G installed to do this. If you do not already have the drivers installed (which you should if you have your phone rooted, allowing SDK to work) then you can download them from here provided by noobnl of XDA-DEVELOPERS. If you already have the drivers, then simply skip that step, and head right to the next, which is allowing debugging on your phone. To perform this simple task, on your phone, navigate to Menu>Settings>Applications>Development and select USB Debugging. Now plug your phone in, because it's time to get started. Here are a few basic commands to help you on your way.

1. adb shell - The adb shell command allows you to control your phone as root from your command prompt terminal. When you type "adb shell", you will then be prompted on your phone from Superuser to either allow or deny access. Should you click deny, you will have to restart your phone, reconnect your phone to your computer via USB cable, and start again, so MAKE SURE you click allow. Once you click allow on your phone, your command prompt will return with the pound symbol (#). If it does, you are now controlling your phone as a root user from your computer. You can do a lot of things from this point here which I will cover in another tutorial later, for now, we will just stick to the basics.

2. adb push - The adb push command allows you to transfer files from your computer to your phone without having to mount your sdcard to your phone, copy the file to your phone, then disconnect, and have to use a file manager to manually put the file where you want it. In order to push ANY files to your phone, you

MUST

have the file in your SDK/Tools folder already. Here is an example of a file you can push to your phone. We will use adding the AOSP Lockscreen to your device as our example.

**First, you will need to download the AOSP Lockscreen.zip from XDA. It will come with a flashable folder, but this method I am about to show you will be for the folks that don't really feel like booting into clockwork and would rather use the access of their computer.

**Second, decompile the AOSP Lockscree.zip and place the android.policy.jar file inside your SDK/Tools folder. Once inside your SDK/Tools folder, it's time to move to the next step.

**Third, with the file from the AOSP Lockscreen in your SDK/Tools folder, it's time to type the command to get it to move from your computer to your phone. Type the following command to do so:

adb push android.policy.jar /system/framework/android.policy.jar

**Finally, with the file pushed to your phone now from your computer, you can safely reboot your phone to enable the changes. To reboot your phone the easiest way, simply type adb reboot. When your phone boots up again, the changes should be made and you should now be enjoying your new AOSP Lockscreen.

3. adb pull - The adb pull command can be used to pull various items from your phone. A simple example of this command would be: adb pull /system/framework/framework-res.apk /Desktop/Android/. You can pull just about anything from your phone, but when I say just about, i mean exactly that. Just about anything. There are certain things you will NOT be able to pull, such as items that are packed inside compressed files (I.E. anything inside a Kernel).

4. ddms - The ddms command allows you to debug your phone in one of the many ways. You can also use the ddms command to take screenshots of your phone should you want to show it off ;).

5. adb reboot/adb reboot recovery/adb reboot download - These commands are pretty self explanitory. Without having to use the 3 finger death grip, you can use these commands to reboot your phone to your preference whether it be a simple reboot, rebooting to recovery, or rebooting to download mode.

NOTE: If you are using Clockworkmod 3.0.0.5/6 ported by Dameon87, you will need to check to make sure the redirector is working. If the redirector is not baked in, then you MUST use the 3 finger death grip to boot into recovery otherwise it will boot you to the wrong recovery. Clockworkmod 3.0.0.5/6 supports Edify scripting, while Clockworkmod 2.5.5 uses Amend scripting. If you try to use an Amend script in Clockwork 3.0.0.5/6, which only supports Edify Scripting, it will return you with an error saying that it does not support it any longer. This is why it is important to find out if the redirector is baked in or not.

Part V: Summary of Android SDK

Well to bring it all to an end, I would first like to say thanks for taking the time to read this and I sincerely hope this helps you guys with setting up Android SDK for the first time. Just to recap, we went over Downloading the Android SDK, finding a little out about SDK, Setting up Android SDK (as well as installing Java if needed, and Eclipse if you chose to), and some Basic Commands of Android SDK to get you started. I will be writing up an Eclipse tutorial and a more advanced Android SDK tutorial a little later with more commands and help to get you developing in no time. Thanks again for taking the time to read this, and if I have helped you in any way, please, hit the thanks button :).

If you have any questions, feel free to either write me a message here on XDA, or joining me in the Team Viper chat. You can access the chat by clicking here and following these simple instructions.

***When the page pops up, first you will need to enter your nickname. Please choose your nickname from XDA so I may better be able to help you.

***Next you will have to choose your channel. Click the dropdown box and choose "other". When the box pops up prompting you to enter the channel, enter #viper as your channel.

***Finally click on the join button and you should be brought right to Team Viper's chat.

Thank you to all the members of Team Viper who helped me throw this together and other members of XDA who have provided either information, downloads, or just a helping hand with the making of this tutorial. Also thanks to Team Whiskey for further easing the transition to using ADB.