Contents:
Post 1 - Pre(r)amble
Post 2 - Setting up the Windows XP environment
Post 3 - Time to make some backups
Post 4 - Install Android SDK on WinXP
Post 5 - Getting started: Using the SDK
Post 6 - Other programs to consider
Post 7 - doubleshot Specifics.
Pre-(R)amble
This is the time of year where people just decide to buy a new computer, for those computers that are 5-10 years old. Instead of letting that old box go to waste, just reformat and install a fresh copy of Windows XP on it and have a fantastic dev box. Most people just throw out their 'old' computer if it's that old, and with a new computer being cheap this time of year someone you know might be doing this.
Don't let it hit a landfill when it could be put to work as a machine you can do anything you want to in learning how to develop for Android... all without impacting your current expectations of use in your current computing environment.
Windows XP being about a decade old now, you probably have one or more copies of it laying around, but this guide is a Windows XP Home version. Obviously being the most basic version, any other version of Windows XP will work as well or better.
If you just want to re-install your Windows XP computer fresh what follows is one method.
This is a long read, but it's recommended to read through it before following along. If you don't have the time to read through it, you certainly don't have time to do it.
Not all of the mentioned software is freeware. Please check licensing requirements of all software before using.
Also, this guide is not quite finished, but there is enough here to get started with - i'll get the rest in when I get time.
Setting up the Windows XP environment
Post 1 - Pre(r)amble
Post 2 - Setting up the Windows XP environment
Post 3 - Time to make some backups
Post 4 - Install Android SDK on WinXP
Post 5 - Getting started: Using the SDK
Post 6 - Other programs to consider
Post 7 - doubleshot Specifics.
So, just got ahold of a cast-off desktop recently, you know, one that was new sometime in the last decade ... owner upgraded and had no use for it. It's a 32-bit system and doesn't have crazy specs... and that's just fine for what we will be doing with it.
Compaq Presario SR1750NX
Amd Athlon 3500+ 2.2 GHz processor
512 MB of RAM.
A lot of this stuff is pretty lightweight if you approach it the right way - both for you and the machine.
It's really easy to bog down your system if you install things in a less efficient manner. Chances are you didn't even know it was done out of order since a lot of us are self taught simply because we're curious.
This stuff is all a lot of fun, but you only learn what you come across. There may very well be gaps in knowledge that you don't even realize you have - it's a problem I run into all the time. This document hopes to fill those gaps in setting up a Windows XP system to work on, because we all just want to have fun with this.
Who wants to spend time cleaning up after a bad install that would've been fine if the order of something was just different? So here is a pretty detailed step by step on how I built a Windows XP machine up from a freshly formatted hard drive.
You would be expected to know how to install Windows XP on your computer, that is not covered, but I pick up right after a fresh install. This is not the only way to set it up, and I do focus on taking your time and doing it by the book.
If you have never installed Windows XP before, you may want to become comfortable with that before doing so. Bootdisk.com may be a good place to start looking some information up - but you can scan down and pick up changes you can make or add to an existing install as well from this guide.
----
Since I just went through setting up a dev computer from scratch on Windows XP, I figured i'd lay out the steps I took for others to refer to. I've learned so much in such a short time - thanks to XDA and helpful people here. Writing these guides is helping me summarize what i've learned and lock the knowledge in, I do this anyway as part of my learning process. Having a place to share them where other people can make use of the information is fantastic, and i'm glad to be able to conribute something to a place that has helped me so much.
Here is a link to another Windows XP setup description I wrote for MicroSD card testing in the Nook Color forums that may be worth referencing: MicroSD Test Environment
Reboot = Save
- In Windows, when you make changes to the system - such as adding or removing programs or changing system settings, those changes are not saved until you successfully write all of the data from RAM back to disk. A reboot or power off the right way accomplishes this. Given that if this operation fails, the install is questionable, it seems like rebooting after every program or every other makes sense - especially ones that add shortcut menu functions.
Do not plug the doubleshot into the computer until prompted to do so by the guide to ensure the right drivers are installed the first time.
--------
Windows XP Initial Configuration.
1 - Install Windows XP fresh.
2 - Ensure all necessary drivers for the computer are installed, rebooting as necessary.
3 - Plug in USB HDD/Flash drive, or any cds and so forth that may have Microsoft Updates or drivers for Windows XP and install these.
4 - Run disk cleanup, and disk defragmenter.
5 - Reboot the computer.
--------
Introducing the doubleshot to the desktop computer:
Done in this specific order it lets Windows XP install the correct drivers the first time you plug the doubleshot in to the desktop machine.
1 - Install the doubleshot Fastboot Drivers.
2 - Install HTC Sync. *Complete install.
3 - Reboot computer.
4 - Exit HTC Sync
5 - Plug doubleshot in to the computer through USB for the first time.
6 - Allow windows to find and install the phone completely.
7 - Safely eject the phone from the computer.
8 - Reboot the computer.
9 - Exit HTC Sync.
Then:
1 - Reboot the doubleshot.
* - Optimal performance on a fresh install of your current ROM or a factory reset on stock prior to first talking to the computer.
Not mandatory. You will have an all around better dev experience just starting fresh with a clean slate across both computer and device, from most development standpoints.
NOTE: Always make sure to always exit HTC Sync on the computer before connecting the doubleshot.
NOTE 2: If the doubleshot is the storage medium for getting the fastboot drivers and HTC Sync program on the computer, do this to make sure the drivers are installed before connecting the doubleshot the first time:
0 - Download the driver files on to the MicroSD card on the device.
1 - Power down the doubleshot.
2 - Remove the battery cover, and the battery.
3 - Eject the MicroSD card from the phone.
4 - Use your USB card reader to plug the MicroSD card in to the computer. It will load drivers for the card reader the first time you plug it in, so let that finish before proceeding.
5 - Copy the doubleshot Fastboot Drivers and HTC Sync program from the MicroSD card to the desktop of the computer.
6 - Safely eject the MicroSD card from the computer.
7 - Insert the MicroSD card back in to doubleshot, then replace the battery.
8 - Power the doubleshot back on.
9 - Install the drivers in the order listed above, making sure not to connect the doubleshot until called for.
This will ensure that Windows installs the correct drivers the first time the doubleshot is connected to the computer. You won't have to uninstall a generic driver Windows may have tried to use instead.
--------
Using the doubleshot as a local wifi access point:
NOTE: This will work on a non-rooted stock doubleshot.
You can use the doubleshot's wifi and usb cable to your desktop to connect to your wifi router. If your dev box is in an inconvenient location and you have a wifi network, the doubleshot itself provides the solution.
After introducing the doubleshot correctly to your computer, and having safely disconnected and rebooted both, do this:
1 - Enable wifi and connect the doubleshot to your wifi network.
2 - Plug the doubleshot in to your computer.
3 - Go to Settings -> "Wireless & Networks" and select "Internet Pass-through"
3A - Give it a moment to properly set up the function on your computer
3B - Un-check "Internet Pass-through", let it all close out.
4 - Select "USB tethering", give it a moment to start up.
4A - Make sure the USB tethering setting is set to Windows first.
On the computer:
5 - Right click the "My Network Places" icon and select "Properties"
5B - Alternate: Start -> Settings -> Control Panel -> "Network Connections"
6 - Right click on your HTC connection, select "Properties"
7 - Click the "Advanced tab", then click the Windows Firewall "Settings" button.
8 - Turn the firewall off, select "OK" back to the "Network Connections" window and close it.
You should now be connected to your home wifi network using the doubleshot as a local wifi access point.
NOTE: When doing updates to the computer, you will need to select "restart later" and then safely eject the doubleshot before turning off the computer.
Follow these steps:
0 - Choose "restart later"
1 - Turn off "USB tethering" on the device.
2 - Safely eject the doubleshot from the computer.
3 - Unplug the doubleshot.
4 - Then reboot the computer.
This procedure is how I got my desktop box on the internet at my house without running a cable, though I did have it plugged in to the router direct for the Windows Updates part. The rest of the guide I did through the doubleshot as the bridge between my desktop and the wifi router. Pretty cool
This will work without a SIM card, you just need a wifi home network.
--------
Updating the Windows XP computer:
Connect to Windows Update, and bring all critical updates current. Reboot as necessary.
NOTE: If you have redistributable update packages saved to cd or other media, installing them first before connecting to Windows Update will save a lot of time.
Make sure to keep checking back until it says no critical updates are remaining. Make sure all drivers are up to date.
Also get:
* - .net framework 4.0 update.
* - Recommend the other .net frameworks available for compatibility.
* - Internet Exploerer 8.
After the final updates are complete, and no new critical updates need to be installed, reboot the computer again even if it doesn't ask you to.
Then:
1 - Right click "My Computer" and select "Properties" to display the "System Properties" window.
1B - Alternate: Start -> Settings -> Control Panel -> "System"
2 - Click the "Advanced" tab.
3 - Under "Performance", click "Settings"
4 - Choose "Adjust for best performance" and click "OK", then "OK" again to acknowledge the changes in the "System Properties" window.
5 - Set any preferred display settings, choose a different background if desired.
6 - Run "Disk Cleanup" and then "Disk Defragmenter".
7 - Reboot the computer.
8 - Install Google Chrome Browser and make it default.
9 - Reboot the computer.
Final Programs: Download and Install
1 - Download and install Notepad-plus-plus. Reboot the computer when install finishes.
2 - Download and install 7-Zip. Reboot the computer when install finishes.
3 - Download and install the Bulk Rename Utility. Reboot the computer when install finishes.
4 - Download and install the Revolutionary: S-OFF & Recovery Tool 0.4pre4
5 - Run "Disk Cleanup" and then "Disk Defragmenter".
6 - Reboot the computer.
7 - Stop. Follow the directions below to wrap up the Windows XP Initial Setup.
--------
Wrapping up Part 1:
We have done all of our Windows Updates, and installed the other necessary Microsoft packages to continue. We have also set up the computer to talk to the doubleshot. Some system settings were configured and you basically have a fresh Windows XP computer waiting for you to build on it. We will use Chrome as our browser, but keep Internet Explorer for the ftp capabilities. A few necessary dev programs have been installed.
Now is a good time to plug in a USB hard drive or from other media add any graphics to your "My Pictures" folder in "My Documents".
Also add any current project files and other programs you may have downloaded previously.
Install a cd-burning program of your choice, if applicable. If not, when you see a recommendation to make a cd-backup, use some other media instead.
Now would also be the time to install a disk imaging utility of your choice, if you plan on using one. Make your first system image now.
This is also a good time to create a system restore point if you are using them.
Time to make some backups
Post 1 - Pre(r)amble
Post 2 - Setting up the Windows XP environment
Post 3 - Time to make some backups
Post 4 - Install Android SDK on WinXP
Post 5 - Getting started: Using the SDK
Post 6 - Other programs to consider
Post 7 - doubleshot Specifics.
Time to make some backups:
This post is dedicated to a lot of the things i've backed up at this point. Let's go over that for a post and get ourselves all set up in that department.
I have laid out some recommendations for what to put on your backup cds to get started. We choose optical media as the preferred type of backup, and then try to bring it down to the most universal level.
Since Windows XP will run on machines that didn't necessarily come with even a DVD reader standard, or it may have burnt out, you should at least be able to come up with a plain-jane cd-rom drive.
This also has the benefit of not installing random USB devices to our system after a fresh Windows XP install if we don't want to.
Bootdisk.com is a good resource for some tools you may wish to include on some of these disks or others you make.
----
Remember - spaces are bad in your file and folder names.
Connect everything with either an:
Underscore _
Hyphen -
Try to refrain from using:
Period . It may trick something down the line to look for a non-existent file extension.
Any odd characters or symbols. Numbers, letters, hyphens and underscores can make your whole file and folder names. Let's make everything easy for everybody.
Windows XP users should:
Try to hold true to the 8.3 rule as much as feasable. Old DOS rule of length for filename.extension
While not often possible on bigger projects, keep this in mind in striving for the maximum range of readability and compatibility whenever you can. Simple is better.
Code:
[B]8.3 example:[/B]
BookFour.txt
12345678.123
1 through 8 = Filename
Period . = Switch telling the computer to read next the file type.
1 through 3 = File Extension - tells the computer what type of file it is and how to read it.
[B]Simple Folder ( Directory ) examples:[/B]
Idea_001
Idea-001
Stuff-01
Stuff-02
[B]Simple File examples:[/B]
Read_Me1.txt
Read-Me1.txt
Change-1.txt
Change-2.txt
----
[B]Folder ( Directory ) examples:[/B]
doubleshot_Project_001
doubleshot_Project-001
MT4GS_Backup_Stock-001
MT4GS_Backup_Stock-002
[B]File examples:[/B]
doubleshot_Mount_Points.txt
doubleshot_Mount-Points.txt
Web_Links-001.txt
Web_Links-002.txt
Empty spaces between parts of your filename may not seem like a big deal if you've always worked within a Windows environment. Try to get away from this.
If you are starting with a fresh approach, and a fresh system new and ready, try keeping it as simple as possible when you can. Make sure not to make things too generic and lose organization - hyphens and underscores become your friend.
Some other operating systems you may use or need to use will not be so forgiving of empty spaces as Windows XP.
If you share files with people on other operating systems, or one day need to switch over yourself, you will find not having a naming issue is ... a hurdle you have overcome with knowledge.
--------
Recommended Backup cds to Burn:
5 total cds at less then 700MB each.
Three tips:
1 - Recommended to copy the web link and keep it with the software for reference.
2 - Also make sure to copy any license files with the program when you download it ( PDF, txt and so forth ) as a seperate file and keep it with the software.
3 - Each software package should have it's own folder and should have at minimum the software, license and internet shortcut to the author or company web page. The internet shortcut ensures that support goes to the right place and credit goes where it should.
Drivers Disks:
2 Disks Listed.
----
Disk_D01 - PC Drivers
- All current drivers for Windows XP for the computer from the manufacturer.
- All current drivers for Windows XP from the manufacturers of any aftermarket parts or peripherals.
- Notepad-plus-plus
- 7-Zip
- Bulk Rename Utility
----
Disk_D02 - doubleshot Drivers
- HTC doubleshot User Manual
- Revolutionary: S-OFF & Recovery Tool
- doubleshot Fastboot Drivers
- HTC Sync
- Stock doubleshot recovery image
- Clockworkmod 5.0.2.7
- Notepad-plus-plus
- 7-Zip
- Bulk Rename Utility
- And as much documentation as you want.
Microsoft Updates and Software:
3 Disks Listed.
----
Disk_M01 - Microsoft Redistributables 1 - Service Pack 3
- Windows XP Service Pack 3 Redistributable
- Windows XP Service Pck 3 Debug Build
- Windows Installer 4.5 Redistributable
----
Disk_M02 - Microsoft .Net Frameworks
- Microsoft .Net Framework 1.1 Redistributable
- Microsoft .Net Framework 2.0 Redistributable
- Microsoft .Net Framework 3.0 Redistributable
- Microsoft .Net Framework 3.5 Redistributable
- Microsoft .Net 4 Standalone Installer
- Microsoft .NET Framework Client Profile Offline Installer
----
Disk_M03 - Microsoft Updates
- Other Microsoft updates or software packages that are user specific.
- Includes service pack and security updates for Microsoft Office if used.
- DirectX End-User Runtimes
--------
Backup Notes:
If you took the time to read the guide through first, before following it, you will see that making these cds first if possible will save you a considerable amount of setup time. Since you will already have on hand some of what you would get through Windows Update the download time is shorter and you are less traffic on the server.
If you do this several times a week you should have whatever redistributable Microsoft Update software packages available on disk to allow others that bandwidth to connect to Microsoft Update.
You will also have on hand some of the necessary programs to get your dev station started, even if you install completely off-line.
If your computer has a burner, even just a cd burner, which is very likely... and given how cheap a cd is... the value of having these few cds containing the software they do sitting next to your computer is pretty sizable.
----
This is a development computer, one set aside and at any given time you might decide to do this process over from scratch and use different tools. You want to be able to install any drivers from a flash drive at least, but cd preferably. Installing from a cd doesn't have to contaminate the fresh Windows XP installation with device drivers for an aftermarket USB device, as they are installed on first use of one. The cd as optical media is the cleanest entry method of data to a fresh computer, and it can be done without internet or network access.
Sometimes this is desireable, the offline part speaks for itself, but your dev project may force you to be conscious of the USB card reader installing drivers like in the thread I linked to above where I was testing USB drives and MicroSD cards. That's a perfect example of how one driver installed in the wrong order could throw a whole test, and they have to be kept track of by the serial number of the device physically in front of you - I had to make sure I tested the USB Readers themselves evenly in addition to the MicroSD cards.
----
Your development computer is whatever environment you need it to be, and you should be prepared to change it from project to project.
Windows - install fresh as often as feasable for best use. The longer it's installed, the more unstable it becomes. You basically avoid all the problems people suffer who have their computer longer then a year by never having your operating system installed that long.
Windows version of the iPhone "you're holding it wrong" speech.
----
This is one method among many, but strives to reach the lowest common denominator in compatibility. These cd backups should not be your only ones.
----
Feel free to reply to this thread with links that would fit and be helpful here. I'll cycle them up as I can.
Install Android SDK on WinXP
Post 1 - Pre(r)amble
Post 2 - Setting up the Windows XP environment
Post 3 - Time to make some backups
Post 4 - Install Android SDK on WinXP
Post 5 - Getting started: Using the SDK
Post 6 - Other programs to consider
Post 7 - doubleshot Specifics.
How-to: Install the Android SDK on a Windows XP machine.
First, read the Android SDK Requirements.
Then go to the Android SDK download page. Download both the Installer and the Zip.
Then go to the Java JDK download page. Download the Java SE 6 Update 30 package.
Backup the three downloads (Java JDK, Android SDK installer and Zip.)
Next, install the Java JDK 6. Just follow the instructions on-screen and it'll all be great.
Reboot the computer.
Now, install the Android SDK installer package.
I like to change the default path to
Code:
C:\Android
This makes it easier to call on the tools involved, saving you from typing a longer path into the command line every time.
Once this finishes installing, you will need to update the install.
It should automatically open the Android SDK Manager, which is what you use to download your SDK packages.
You need to get the Platform-Tools package, at the very least, and also make sure to get each API all the way back to 2.3.3 to work with the doubleshot.
(unfinished - more forthcoming...)
Getting started: Using the SDK
Post 1 - Pre(r)amble
Post 2 - Setting up the Windows XP environment
Post 3 - Time to make some backups
Post 4 - Install Android SDK on WinXP
Post 5 - Getting started: Using the SDK
Post 6 - Other programs to consider
Post 7 - doubleshot Specifics.
All set up: What can I do with it?
First, you should familiarize yourself with the tools at your disposal.
You can find ddms in your Tools folder of the Android SDK. This is the Dalvik Debug Monitor, and will teach you a lot about your device. Double click this and it launches a terminal window, which loads a graphical user interface. Launch after the Android is connected to the computer, but it can function being open prior to plugging in the device. You should play with this and see what you can learn.
--------
adb is a command you find in the Platform-Tools folder of the Android SDK. It is the Android Debug Bridge, and is a way of interacting with your device through the computer. This is the folder you should be in when using the command.
One initial thought: The app Wifi ADB By: ttxapps is something to consider before you go plugging in your cable a hundred times a day and stressing the connection point. You can use the WifiADB app for most of your adb functions wirelessly over the same network your dev computer is attached to.
Go and read my Backup Guide for a very in-depth explanation of how to use the adb "pull" command in post 1.
You may then find learning other adb commands to be easier, having had one focused explanation.
To get you started with adb:
Code:
[LIST][*] - [B]adb help[/B]
[*] - [B]adb devices[/B]
[*] - [B]adb remount[/B]
- remounts the /system partition on the device read-write.
[*] - [B]adb push <local> <remote>[/B]
- copy to device.
[*] - [B]adb pull <remote> <local>[/B]
- copy from device.[/LIST]
--------
Here are three graphics tutorials I wrote that can make use of the Android SDK and other tools mentioned in this thread:
1 - Beginner level - Custom Sense Lockring on the MT4GS - easy step-by-step.
2 - Intermediate level - Edit .9.png files for the MT4GS - step-by-step.
3 - Advanced level - Edit Mode10 Files for the MT4GS - step-by-step
--------
Here is a link to my guide index that will have a list of how-to's and such i've written.
The MT4GS Stock App Developers Reference may be helpful at this point.
Also take a read back through the MT4G Slide Compendium to re-familiarize yourself with some terminology, and for links to things throughout the doubleshot forums.
--------
The thread Splash Image in the dev section has fastboot flashing instructions for a splash image, and references to other SDK guides.
... and the Partitions - memory address listing thread is a works in progress but may still help you to understand your device better at this point.
--------
Unfinished - more to come.
Other programs to consider
Post 1 - Pre(r)amble
Post 2 - Setting up the Windows XP environment
Post 3 - Time to make some backups
Post 4 - Install Android SDK on WinXP
Post 5 - Getting started: Using the SDK
Post 6 - Other programs to consider
Post 7 - doubleshot Specifics.
Links to what I already had you install:
- Notepad-plus-plus
- 7-Zip
- Bulk Rename Utility
- Revolutionary: S-OFF & Recovery Tool 0.4pre4
- doubleshot Fastboot Drivers
- HTC Sync
--------
Here are some other programs to consider for your dev station:
- Winrar
- SD Formatter 3.1 for SD/SDHC/SDXC - Thanks! Also needs this Microsoft XP Update
- EASEUS Partition Master
- WinImage 8.1
- Win32 Disk Imager
- Seagate DiscWizard
- Acronis True Image
- Crystal Disk Mark - Thanks!
- HxD - Freeware Hex Editor - Thanks!
- Freeware Hex Editor XVI32 - Thanks!
- Image Magic - Thanks!
- Photoshop
- Font Creator
- Acrobat
- Microsoft Office
- Filezilla
----
Gotten into Portable Apps yet?
Here are some to consider:
7-Zip
Explorer++
Notepad++
DiffPDF
WinMerge
SQLite Database Browser
WinMD5Sum
CrystalDiskMark
CrystalDiskInfo
GIMP
FileZilla
Google Chrome
The portable apps, if installed on a thumb drive ( or maybe the doubleshot memory card... ) will let you work on your projects at any windows computers you come across. Some are 32 bit only, some have 64 bit versions - most are for XP, some will work on 7.
All listed portable apps will work on the Windows XP install this thread details.
More forthcoming...
doubleshot Specifics.
Post 1 - Pre(r)amble
Post 2 - Setting up the Windows XP environment
Post 3 - Time to make some backups
Post 4 - Install Android SDK on WinXP
Post 5 - Getting started: Using the SDK
Post 6 - Other programs to consider
Post 7 - doubleshot Specifics.
doubleshot Specifics.
This assumes an S-OFF device, and you just want a fresh start on your doubleshot with your dev computer.
--------
1 - Fresh (S-OFF) ** for an already S-OFF device.
What you need:
- MicroSD card.
- Stock Image
How to make it:
1 - Download the Stock Image to your computer.
2 - Rename it to PG59IMG.zip
3 - Format your MicroSD card in the computer.
4 - Transfer the image from the computer to the MicroSD card.
How to use it:
NOTE: Make sure you have a full battery!!!
1 - Power off the doubleshot. Remove the battery and MicroSD card.
2 - Insert new card from above. ( or back up current card, make, and re-insert )
3 - Replace battery and backplate.
4 - Holding the 'Volume Down' button, press the 'Power' button.
5 - Wait for the loading bar to fill.
6 - When ready, it will ask you if you want to start the update.
7 - Select yes by pressing the 'Volume Up' button. Press 'Volume Down' if you just realized you have a low battery.
8 - Allow the update time to flash to your doubleshot.
9 - Let it sit for a minute or two after it says finished, then press power to reboot.
10 - Follow on-screen instructions until finished.
Then:
1 - Reboot the doubleshot.
2 - When fully booted, open the settings menu.
3 - Go to "SD & phone storage" and choose "Factory data reset"
4 - Yes, wipe the sdcard too.
5 - Follow on-screen instructions until finished.
----
You now have the doubleshot as close to factory as you can get for testing. You will still have S-OFF but stock recovery.
--------
Replacing Stock Recovery: Clockworkmod
If you have S-OFF but stock recovery, the easiest method is to:
1 - Follow the instructions in This Thread to get temp root.
2 - Without rebooting, add your market account to the device.
3 - Install ROM Manager from the market.
4 - Flash Clockworkmod through ROM Manager.
5 - What you do next is up to you (but a clockworkmod backup isn't a bad idea.)
--------
doubleshot Drivers Disk:
Burn this information to a disk for backup:
doubleshot Drivers
- HTC doubleshot User Manual
- Revolutionary: S-OFF & Recovery Tool
- doubleshot Fastboot Drivers
- HTC Sync
- Stock doubleshot recovery image
- Clockworkmod 5.0.2.7
- Notepad-plus-plus
- 7-Zip
- Bulk Rename Utility
- And as much documentation as you want.
--------
Some Device / Documentation Links:
- HTC
- HTC doubleshot Product Page
- HTC doubleshot User Manual
- HTC Dev
----
- T-Mobile
- T-Mobile doubleshot Marketing Page
- T-Mobile product pages for the doubleshot: Black or Khaki colors.
- T-Mobile doubleshot Specifications Page where you can download the user manual.
----
- Qualcomm
- Qualcomm Snapdragon Product Page
- Qualcomm doubleshot Product Page
- Snapdragon S3 Processors Overview
- Snapdragon MSM8x60 APQ8060 Product Brief
- Snapdragon Fact Sheet
----
- PDAdb entry for the doubleshot
- PDAdb entry for Snapdragon Processors
----
- Revolutionary: S-OFF & Recovery Tool
- doubleshot Fastboot Drivers
- HTC Sync
--------
Unfinished - more to come...
Grabbed one just in case.
If anyone finds any broken links, please post below and i'll fix it.
Any suggestions, feel free to post below.
Thanks!
Thanks for this, Any other guides coming out? I'm really interested in ROM development but no idea of where to start.
OShocke said:
Thanks for this, Any other guides coming out? I'm really interested in ROM development but no idea of where to start.
Click to expand...
Click to collapse
Yea, I got a few more in various stages of finished - they take time to get typed up and posted.
I'm starting to pick up shifts again at work, and after being essentially unemployed since thanksgiving I have to jump on everything coming my way.
Takes time away from the things i'd like to be doing, like this kind of stuff, so i'll be posting and participating as much as I can.
Typing and posting these guides are my way of trying to help as my work schedule becomes ever more demanding.
The best thing you can do to get started on ROM development is just start reading all over XDA and doing whatever you can - even something as simple as changing a single graphic in some part of the ROM is a great first step.
Also, I realize I used the term "disk" instead of "disc" in a lot of places - sorry.
Disk = hard drive, or other physical disk.
Disc = CD, DVD, other optical media and the like.
Good guide, but this looks like a lot of work. I just have to unzip the SDK on Ubuntu, set permissions to rwx, and create 51-android.rules. :3
Sent via smoke signal.
blackknightavalon said:
Good guide, but this looks like a lot of work. I just have to unzip the SDK on Ubuntu, set permissions to rwx, and create 51-android.rules. :3
Sent via smoke signal.
Click to expand...
Click to collapse
Thanks but - it's not a linux guide and setting up the SDK is only a small part of what the guide covers.
It's more of dumping the knowledge gained from my time spent deploying and servicing XP workstations into a guide to teach people how to reclaim older computers.
It also covers ideal naming conventions and good habits to get into, as well as sourcing a ton of links to windows software to be used in conjunction with the installation.
As Windows XP has been around for some time now, it's likely that people have a copy of it around, and also very likely they can get their hands on an older computer - especially with the holiday season just passing where there's a chance people are tossing older computers that can make perfectly serviceable dev computers.
I use Ubuntu for dev work too, but also XP - I know at least some of the people rolling up their sleeves to start devving haven't had real-world experience or training on how to do this kind of stuff so I was hoping to bridge some of the knowledge gaps for the hobbyist.
The less people that get turned away because they are fighting with a buggy OS install, the more we can grow our small dev community around the MT4GS. A sound base to work from is necessary for a productive dev environment.
Besides, I also wanted one of my own guides to point to instead of saying "search XDA for how to do this"
You forgot step one of using a Windows XP computer: Disconnect the network cable at all times.
Blue6IX said:
Thanks but - it's not a linux guide and setting up the SDK is only a small part of what the guide covers.
It's more of dumping the knowledge gained from my time spent deploying and servicing XP workstations into a guide to teach people how to reclaim older computers.
It also covers ideal naming conventions and good habits to get into, as well as sourcing a ton of links to windows software to be used in conjunction with the installation.
As Windows XP has been around for some time now, it's likely that people have a copy of it around, and also very likely they can get their hands on an older computer - especially with the holiday season just passing where there's a chance people are tossing older computers that can make perfectly serviceable dev computers.
I use Ubuntu for dev work too, but also XP - I know at least some of the people rolling up their sleeves to start devving haven't had real-world experience or training on how to do this kind of stuff so I was hoping to bridge some of the knowledge gaps for the hobbyist.
The less people that get turned away because they are fighting with a buggy OS install, the more we can grow our small dev community around the MT4GS. A sound base to work from is necessary for a productive dev environment.
Besides, I also wanted one of my own guides to point to instead of saying "search XDA for how to do this"
Click to expand...
Click to collapse
The only reason I use Windows is to update my jailbroken iPod Touch. Ubuntu handles everything else I need.
raduque said:
You forgot step one of using a Windows XP computer: Disconnect the network cable at all times.
Click to expand...
Click to collapse
*snorts* This is true.
Blue great write up. This is an amazing guide I wish I had it when I started.
Does eclipse not run well on xp? I didn't see you mention it. What are your reasons if you didn't add it? I'm curious.
Ill be sure to add this its with some other updates.
Excellent write up.
Sent from my ICS Splashed using xda premium
Great guide. Glad I found it.
Sent from my ICS Splashed using Tapatalk
I had intended to include eclipse as part of the SDK install part, I still have to polish off a lot of the postings in this guide - especially the SDK part as they are incomplete as of yet. Eclipse runs fine on XP.
I just haven't had the chance to type out the rest of it yet, but I figured there was enough here to get people going with. I meant to add to it last night, but instead got lost in AOSP documentation and before I knew it the sun was up and I had to run.
I'll keep adding to it as I get the time, at least the way it sits someone can get a good XP install and the SDK installed, if not fully configured - for the time being referencing other guides around XDA to get the SDK configured after install will have to do.
Blue6IX said:
I had intended to include eclipse as part of the SDK install part, I still have to polish off a lot of the postings in this guide - especially the SDK part as they are incomplete as of yet. Eclipse runs fine on XP.
I just haven't had the chance to type out the rest of it yet, but I figured there was enough here to get people going with. I meant to add to it last night, but instead got lost in AOSP documentation and before I knew it the sun was up and I had to run.
I'll keep adding to it as I get the time, at least the way it sits someone can get a good XP install and the SDK installed, if not fully configured - for the time being referencing other guides around XDA to get the SDK configured after install will have to do.
Click to expand...
Click to collapse
Ah okay, was just curious. I did not see android kitchen as well. Although, it's not easy to use and is out-dated. I dont use it anymore, so I don't blame you.
I added this to the sticky, excellent write-up once again!!!! You should make a video tutorial as well and get some extra cash from you tube.
thanks, this is a VERY helpful guide! I will be putting it to good use on an old machine in the next week or so.
Hoq much of this is XP specific? I want to do this on Win 7... Should I be smart enough to figure out which parts are in different locations in Win 7?
(I would have posted this in the development forums but apparently I don't yet have enough "karma" or something {grin})
I'm on a project to use Android tablets to exchange data via USB with an embedded microcontroller environment. At present I'm using a Nexus 7 (because it supports USB Accessory mode, so it can be powered by the other end) and an Arduino Due (because it has two USB interfaces). I've read countless articles and scoured everything I can find on the topic of programming for USB, but still have some fundamental questions.
The biggest one concerns how the host and device interfaces "identify" each other. Seems like each end needs to expose a USB interface with VID/PID values that the other end knows about and looks for during initialization. This implies that the code on each end would need to control the PID and VID values, as well as other USB descriptor values. Yet none of the code examples I've found ever discuss this.
Example: I've found that the Nexus 7 exposes one PID value (0x4E42) when its USB port is configured in "media device (MTP)" mode, and a different PID value (0x4E44) when its USB port is configured in "camera (PTP)" mode. The protocols for interacting with these two configurations is different, and the code on the other end of the wire needs to know how to handle that. I haven't checked yet but I suspect the values in the usb_interface and usb_interface_descriptor structures also change along with the PID value, since usb.org defines a whole bunch of standardized values for various device types. A connecting device would retrieve these values, potentially from multiple exposed logical interfaces on the same physical USB port, and select a compatible one.
Since I'm writing the code on both ends of the wire, doesn't my code need to somehow convey these values into the USB interface hardware? How is that done, for example, under Android? Do the code examples just omit this because everyone but me knows how to do it?
If I just "ignore" this question, then when the Arduino (acting as USB Host) polls the Nexus 7 it will have to select from whatever interfaces are offered. So... whose code is in charge of those interfaces? How does my code tell the Android OS which of these "default" interfaces it will be handling? My suspicion is that, if a USB interface is being advertised, there is *already* code behind it. That brings me full circle to the question of "How does my code inform Android that it wants to use certain VID/PID values?"
I hope I've explained this clearly. It's a pretty detailed question, so if it's unclear I can try to ask it differently. Thanks in advance for any guidance, tips, RTFM's, etc.!
For interacting arduino with android device, it can be written under eclipse, you can learned it from "Beginning Android ADK with Arduino" which can be downloaded from torrent market. VID/PID mostly used to allow your device to be recognised to your computer.
koklimabc said:
For interacting arduino with android device, it can be written under eclipse, you can learned it from "Beginning Android ADK with Arduino" which can be downloaded from torrent market.
Click to expand...
Click to collapse
Thanks, I'll look for that reference!
VID/PID mostly used to allow your device to be recognised to your computer.
Click to expand...
Click to collapse
Yes, but those parameters (along with a couple of others) are used to 1) confirm that the two devices recognize each other, and 2) in some cases to launch the proper code to handle that interface/protocol. So you must have control over them, and must initialize the USB system with the proper values in some manner. I presumed it would be in the Android API but I can't find any reference to setting the low-level values for USB connections.
Thanks again for the response! Anyone with additional data? It would be greatly appreciated!
Hi,
my name is Melanie, I'm part of an effort to root the Vector robot made by Anki.
Anki has recently gone into administration, with the IP of the company winding up as collateral for an emergency loan that was never paid back.
Vector is very much dependent on the "cloud", namely, Anki's servers running on AWS. The SSL certificate for these servers is due to expire in September. There is little chance of it being renewed since the company has no funds.
A group of tech-savvy owners have got together on Discord to discuss how to help Vector survive the coming demise of his servers. They had already collected a not insignificant amount of information in the form of datasheets and observations as well as images of the internals of the robot and images of jigs Anki used during development.
I'm bringing this project to this forum because, internally, Vector is really a phone without the GSM part.
He is powered by a Qualcomm APQ8009 (Snapdragon 212), which has been paired with a combination ram/flash chip by Kingston, 04EMCP04-NL3DM627. There is also a Wifi/BLE module and a screen and 4 microphones.
The Snapdragon runs an Android boot loader and Linux kerner version 3.18.66-perf.
This is where he becomes different from a phone in that he doesn't start Zygote, but rather runs a number of daemons from systemd.
As shipped, there is no user accessible wired IO.
There are a number of wirepads on the PCB, as well as unpopulated pads for a micro USB port. When I joined the project, the serial port was already known, but while it provides a boot log, there is no getty on it.
The USB port had to this point not been successfully activated.
Since I'm a hardware person, that is where i placed my lever. I populated the USB port and started digging. Finally I found a solder pad labeled F_USB which was not even close tot he USB port, but turned out to be a boot mode pin from the CPU. Pulling it to VCC made the USB port enumerate in EDL mode. Qualcomm call it QDL or QDLoader, but it basically an interface to the ROM in the CPU, just like phones have.
From this I managed to grab a CPU ID but not much more.
Meanwhile, we reverse-engineered the phone app that comes with it and are currently writing a general purpose library to talk to Vector over BLE.
At this point, I found that I was facing a thicket of software, mostly either cracked or containing malware, or both, but very little legit options.
I see a few options to go forward on this:
- Find a software that can talk to the Snapdragon 212 to extract the current image
- Desolder the flash to extract the image via a programmer
- Desolder the CPU to access the flash's data lines without having to heat the flash, which could corrupt it
The last two options are bound to be destructive and all us owners have found a connection to their robots and are loath to sacrifice them. Also, they require a bit of investment and are, because of that, no quick wins.
I'm hoping that someone here may have the missing pieces I need to get from QDL 9008 mode to an image of the flash on my disk. We believe we have another way to flash it, not needing the USB port, but we don't have an image to try it with and flashing something like all zeroes would needlessly destroy a robot.
- Melanie
PS: I would post links but I'm too young to do so. There is a google group called "Project Victor" that has the info we have so far called anki-vector-rooting, a.k.a. Project Victor.
https://groups.google.com/forum/m/#!forum/anki-vector-rooting
You are welcome to PM links to me and I will post them as a work around.
hope the best!
Link to Project Vector
http://projectvictor.my.to/
Sent from my ocean using XDA Labs