Installing Apps With ADB, Need Help! - G1 Android Development

Alright so, I'm trying to find a quicker way of installing apps. I usually use MyBackup to backup and restore apps, however having to one by one click install, then done, rinse and repeat just takes some time (and space on my sd card). I also know that I can manually install apps through ADB, although it is a one click install, its still required to type in the apps path.
My question is, is there a way I can install all said apps that are within a folder? Or is it possible to create a batch file with all of the operations in it? I know I would have to manually punch in all the paths, but with the many formats I do of my phone, testing out builds and themes, being able to 1-click all of my apps back onto my phone would be great.
I tried created a simple batch file like so:
Code:
@echo off
adb install d:\android\apps\example.of.a.app.apk
But I had no luck in the process of doing so. If anyone could help shed some more light on this, or other methods that may be of use I would be very grateful. Long story short, installing 80-some apps over and over again sucks lol.

Any luck from anyone?

Just your friendly neighboorhood bump.

i'm not sure what the wildcard char is in windows, but i have seen that some users have used
adb install ~/apps/*.apk i'm not sure if it works as i haven't needed to do it yet, but you maight wanna try it out.
P.S. i use linux so you should do adb install D:\android\apps\*(or whatever the wildcard char is in windows).apk
hope it works for you

i dont think so.adb should be used like this way..
copy the applications to the adb floder,the use CMD in windows OS。the command is:
adb devices(its mean confirm the devices was found,if done, HTZxxxxxx would display)
adb install xxx.apk
its so easy,do like this.but the first one.you must install the driver for G1

Related

For extreme noobs like myself info reg rooting & clockwork recovery

About a day ago I didn't know anything about rooting and what it was but now I know to a degree from many hours of reading.
These are the steps I did.
You have to make sure that you choose the correct one click root method for the DI07 patch. Obviously you need to put the epic in debugging mode and click on the appropriate run.bat command and let the batch run. That part wasn't to hard for me, pretty much self explanatory.
Also to check for "root", to make sure your epic is rooted, download titanium backup from the android market and if it launches your epic is rooted and plus it will say root status "ok"..
The part I had issues with was with the one click clockwork recovery. Especially when people started talking about typing in commands in the dos prompt. I'm ok with doing that but it wasn't explained in full detail regarding what to do.
So first thing that I had to figure out was what they meant by c:/android-sdk-windows/tools and where was this located. I didn't have this file on my cpu on the c: drive and i was lost at this point being that I didn't know where to get it. I later found out and if im wrong please tell me you had to create your own folder on your c: drive so you can point to it from the c: prompt in dos. So I went ahead and did that.
In the tools folder from android-sdk-windows folder you would go ahead and place the contents of the clockwork recovery files in the tools folder. So wahla I now have a folder I can point to in the dos prompt. At this point I still didn't know if this is going to work or not but I felt like I was close.
Next step was to follow "open up command prompt and redirect it to your C:/android-sdk-windows/tools folder and then run the following code."
adb devices
adb shell
su
remount rw
exit
exit
first you need to type cd C:/android-sdk-windows/tools and press enter to point to that folder. And run subsequent commands from there.
If when you type in adb devices and a device does not pull up that means that the usb drivers are not installed properly for the epic phone and you need to look into that first.
After you run those commands now you can go ahead and run the run.bat file for the clock works recovery. But also make sure your still in debugging mode.
This might take a few tries but it will eventually work and if it does not work after trying to flash the recovery and the epic reboots pull the battery (reinstall battery) and then try to go into recovery by pressing the vol down--camera--and power button at the same time and you should see a green recovery screen.
I wish someone had typed something like this sooner so I wouldn't of had issues.
I hope this helps at-least one person.
Good idea except it's already been done :-\
http://forum.xda-developers.com/showthread.php?t=786305
Whosdaman said:
Good idea except it's already been done :-\
http://forum.xda-developers.com/showthread.php?t=786305
Click to expand...
Click to collapse
I know I was trying to follow that but there was parts missing that I didn't understand for ex. the part where I had to create the actual folder it never stated to create a folder but it wanted you to point to it in the dos prompt. And yes that tutorial did help out tremendously but i was still a little lost. My explanation fills in the missing gaps or parts. But thank you for pointing that out.
Maybe with noobnl latest version of the clockwork installer (version 32 with mount rw included in the script) you no longer need to go into adb?
jimmyz said:
Maybe with noobnl latest version of the clockwork installer (version 32 with mount rw included in the script) you no longer need to go into adb?
Click to expand...
Click to collapse
That is correct. Version 32 is truly one-click.
mattallica76 said:
That is correct. Version 32 is truly one-click.
Click to expand...
Click to collapse
Thats true
I'm not quite as noobish as the OP but I'm a complete noob to Android and -nix os's in general (besides a tiny bit of unix experience and a non-fear of command-line interfaces). Still, I have enough fear of the process to wait until Epic ROMs are a little further along and more refined to the degree that that's possible. If I weren't quite so noobish I'd dive right in.

[GUIDE][10/5/10]Comprehensive Guide to Rooting, Flashing, and Android Basics!

1.0 – WELCOME AND DISCLAIMER
So, it seems like a lot of people are having problems with their new Samsung Epic 4G. I thought I'd take a minute and throw together a little comprehensive guide on, well, everything. I'll be updating this periodically, so be sure to check it out.
I'll also be working on formatting it to improve readability... I'm not so good with this markup language that forums make you use, so bear with me. If I can figure out some basic tricks, we'll be in business.
And, just so you know, this is just a guide. As long as you follow it and do research, everything should go fine. That being said, I am not responsible for what happens to your phone. This is all elective and I am not forcing you to do any of this. You brick your phone, you own up to it. I'm only trying make it as easy as possible for your to avoid that.
2.0 – GETTING STARTED
New to Android? Need to root? Just got your phone? Not totally clear on everything? Start here. Even if you have experience with Android, had your Epic since day one, or whatever, you'll still want to check this section out.
2.1 – TERMINOLOGY
First of all, you need to familiarize yourself with the terminology. This is vital to understanding what you are doing, so I'll outline as many as I can.
Brick – Not a term that should be thrown around as much as it is. If you have a bricked device, it is worthless. Like, completely. It is literally as useful as a brick. You CANNOT fix a brick. Everything else is just just breakage.
Root – a)This term comes from Linux/UNIX. To obtain root access means that you have elevated privileges. Look at this like administrator rights in Windows. It's what allows you to run custom software and access administrator setting in Android.
b)The uppermost folder. Such as “/”, “C:\” , et cetera.
Rooting – Gaining elevated root admin access.
Kernel – A kernel is the base of an operating system. For Android, it's where all the drivers and system information resides. A custom kernel can contain undervolting instructions, overclocking instructions, and many other battery-saving, power-giving, phone-enhancing features. There are several options, so make sure you do your research and choose the kernel that offers what you are looking for.
Shell – The shell is the part that you see. It's the interface that interacts and allows you to interact with the kernel.
ROM – A ROM is the combination of a kernel and a shell. Think of this like an operating system.
Dev – Dev is short for developer. These are the people who spend their days and nights writing code and bug testing to bring you the ROMs you love. These guys are the reason you're here, so show your appreciation!
Chef – Chefs and devs are essentially the same thing.
Recovery – A system that allows basic phone function. You can flash from this, clear data, and do very basic debugging. As long as you can boot to this, your phone is NOT bricked.
Flashing – The act of installing a ROM or fix to your phone through recovery.
Wiping – The act of performing a factory reset or cache clear from recovery. Your settings are gone, your apps are gone, your phone is as it was when you you got (to an extent). Formats /system/. This is not reversible.
CPU – Central Processing Unit. The brain of the phone. All data travels through this at some point.
Overclocking – Pushing your CPU to its limits. The CPU has a stock clock speed (1GHz for the Epic), and overclocking is pushing it past that.
Undervolting – Making the phone use less power. This saves battery.
AOSP – Android Open Source Project. Frequently referred to as “Vanilla”. The actual people who make Android. Go here for more information.
Theme – A cosmetic change to the user interface.
One-Click – A script or program that does everything for you.
Busybox – A collection of scripts that allow deeper editing of the system while it is running.
Remount – An easy method of mounting /system/ for writing.
Stock – Samsung-released, no editing, as-is stuff. Basically, how the phone came.
OTA – Over the air. Updates that automatically come to your phone, through your service.
adb – “Android Debug Bridge” A debug program for accessing your phone.
deODEX – Combining the ODEX file and the APK files for all the items in the /system/ folder. Allows for easier theming and customizing.
FC/Force Close – When a program or app crashes.
2.2 – WHY SHOULD I ROOT MY PHONE?
Rooting offers several great things including, but certainly not limited to, access to hidden features, total customization, better battery life, and overclocking. It gives you control over the device that you paid money for in the first place. The devs here are great at finding features that the manufacturers left out or disabled and making them work.
It also is a great hobby. Even if you aren't a developer yourself, flashing ROMs and trying out new features can be a lot of fun and definitely kill boredom. And who knows? Maybe you'll end up learning something and start coding yourself.
2.3 – ROOTING
Great! Now you know some words! So, what next? Well, we need to achieve root access on your phone. There are a few ways to accomplish this on the Epic. Please note that the one-click methods are hit and miss and are affected by several factors, including computer speed, cable, USB ports, and, for all intents and purposes, random chance. I HIGHLY recommend you open the .bat files and run every command in adb manually. I'll update this guide, eventually, with how to do this.
If you're running Windows, you're going to need the drivers for this phone. Install them BEFORE connecting your phone to your computer. You can get them here:
32-bit: Click here
64-bit: Click here
You'll also need to put your phone into debug mode. After you turn this on, you can just leave it on. To do this, go to settings, and then to applications, then to development, and then tick the “USB debugging” check box.
I also recommend using a cable other than Samsung's cable that came with the phone. Really, that cable is hardly good for anything more than charging. It's low quality and has caused a lot of users more than a headache. If you are unable to get another cable for whatever reason, run each command individually from adb. Check the section about adb and the Android SDK later in the guide for more information on how to do that.
2.3.1 – The Jokeyrim temporary root with noobnl's one-click script method – DO FIRST
Let it be known that I don't recommend relying on this method. It's janky and can cause problems once you get deeper into Android modification. Use it to get your remount scripts and then quickly do the kernel mods in the steps in 2.3.2.
Go here and download the .zip file. Extract the .zip contents to your desktop. Open the folder, run “run.bat” and let it go.
NOTE: This is just root, this is temporary, and this DOES NOT give you access to a recovery. All this will allow you to do is run applications that require root or busybox and adds the remount script.
2.3.2 – The rooted kernel and recovery method method – DO SECOND
I do recommend that you use this method. This gives you true, permanent root.
There are a couple of ways to do this. I actually suggest you follow both guides, too. This will help prevent you ever getting to Samsung's stock recovery, which is worthless for your purpose.
The first is noobnl's recovery method, and definitely the one you should do first. You can find it here. Download the .zip file and extract its contents to your desktop. There is an issue with this .bat file, so you're going to have to do some extra steps. With adb (go to the section about the Android SDK and adb further in the guide if you do not know what this is) and type:
Code:
adb shell
su
remount rw
exit
exit
(the two 'exits' is not a typo)
After running those commands, open your extracted folder and run the run.bat file. Should be smooth sailing.
The second is koush's method. koush's thread is here, but I that's a complicated method. After you do noobnl's method above, go to this thread and download the .zip from that. Put that .zip on the root of your SD card. Boot into the Clockwork recovery by turning the phone off, holding down the camera button, the volume down button, and pressing the power button until the phone turns on. Once in there, do this:
1. BACK UP YOUR PHONE. I cannot emphasize this enough. Backups are sooo important in your Android modding quest. Backup and do it often. (Backup and restore → Backup).
2. Go to “Flash zip from SD card”
3. Choose zip from sd card
4. Select the zip we put there earlier
5. Click “Yes”
6. Let it do its thing
Once you've done this, you need to boot into the phone, go to the market, and download “ROM Manager”. From that, click “Flash recovery” (the top option) and select the Epic. This will take a minute. From this point on, you can use ROM Manager to boot into the Clockwork Recovery.
2.3 – FLASHING ROMS/KERNELS/FIXES
This is the fun stuff. This is why you're here. Now that you have root and a recovery, we can get some work done. First, you have to select a ROM that you want. Always pick a ROM that is designed for the Epic. ROMs designed from other phones can and will brick your phone!
You can find ROMs for the Epic in the Epic 4G Android Development section of XDA. Do some research to each ROM to make sure it's what you want. If you want a kernel, make sure your ROM supports other kernels and that the kernel supports your ROM.
Once you've picked your ROM, put it on the root of your sd card and then boot into Clockwork Recovery using your method of choice, then:
1. BACKUP. I seriously cannot stress this enough.
2. Wipe everything. Factory reset and clear cache.
3. Go to “Flash zip from SD card”
4. Choose zip
5. Choose “Yes”
6. Let it run
7. -OPTIONAL- To ensure it worked, repeat steps 2-6. This is just to make sure everything worked. Problems with this can be intermittent and this helps to avoid them.
8. Reboot.
3.0 – ERRORS
Stuff goes wrong. You have to understand, EVERYTHING in this is experimental. The devs here do not have access to EVERYTHING that is required to make these phones work and have to guess at some things and, basically, just do their best (And their best is pretty damn good!).
Basically, just be sure you have backups that you can restore from, and this will all be fine.
3.1 – BLACK SCREEN
Oh no! I flashed ROM X and now my phone won't boot and I hate everything!!!
Worry not! As long as you can boot in to recovery, you have nothing to fear. Just restore the backup that I told you to make and you're back in business. Easy fix.
3.2 – CONSTANT FORCE CLOSES
You boot up your phone and are immediately greeted with force closes. Chances are that you didn't wipe OR that the ROM you're using isn't ready for show time. Again, just restore your backup from Clockwork.
3.2 – CAN'T GET TO RECOVERY, CAN GET TO DOWNLOAD MODE
Well, looks like you'll be returning your phone to stock using Odin. Read later on in the guide how to use Odin in the section about Odin.
3.4 – PHONE WON'T TURN ON AT ALL
Welcome to bricksville, population you. Sorry, but you're phone is a $500 paperweight... Probably shouldn't have flashed that GSM ROM, huh? Not even Odin can save you at this point...
4.0 – THE ANDROID SDK AND ADB
The Android SDK (Standard Developer Kit) is a tool freely available to everyone. You can find it here and it is available for Linux, Mac, and Windows.
4.1 – INSTALLING THE SDK
So, the first step is going to be how to install the SDK on your system. I have experience with Linux and Windows, so that's what I have for now. If someone with a Mac can help write the set up instructions for that, I'd be very appreciative.
4.1.1 – Windows
First, download android-sdk_r07-windows.zip from here to your Desktop. Once it has downloaded, double-click the file and extract it to the root of your C:\ drive (this is optional, but it will make things a lot easier in the future). Rename the extracted folder “android-sdk-windows” to just “android” to make your life easier.
Open the new folder, then run the SDK Manager. If you run into an error about Java, go to java.com and get the latest version of the Java JRE (pretty much just click whatever the biggest “download” button is that you first see).
Once you have the SDK open, it will ask you to install packages. Just tick the “Accept All” radio button on the bottom right and press install. Depending on your internet connection, this can take a long time. Just be patient. Once they are all installed, you're good to go.
How you use adb is simple. Open a command prompt (press the Windows key + r and type “cmd” in the box that shows up, or go to Start → All Programs → Accessories → Command Prompt) and type in “cd C:\android\tools\” and type your commands (list of common commands at the end of this section.
-OPTIONAL- This step is optional, but HIGHLY recommended. Now that we have the SDK set up, we're going to adb to the Windows paths so that you can use adb from anywhere you can open a command prompt.
First, click the start menu and then right-click “My Computer” (Just “Computer” in Vista and 7. You'll also need to click the “Advanced System Setting” on the left side of the window that appears.). Click “Properties” and the Properties window appears. Now, click on the “Advanced” tab and the the “Environment Variables” button. A new window appears with two scrollable boxes. In the lower box, scroll until you find a “path” option and select it. Click “Edit” underneath the box. Move your cursor to the very end (Press END on your keyboard, just to be safe) and type “;C:\android\tools\”” (That leading semi-colon is important and may already be there. Check to be sure).
And you're done! Open a command prompt and type “adb devices” and see what comes up. If a list of devices (phones; will be empty if your phone isn't connected in debug mode) comes up, you've succeeded! Congrats.
4.1.2 – Linux
I use Ubuntu personally, but most of this information should be universal. If anyone running anything else sees anything missing or wrong with other distributions, let me know and I'll update or fix it.
First, you need to acquire the SDK. The file is android-sdk_r07-linux_x86.tgz from this site. Once downloaded, extract the contained folder to your home folder (/home/*USERNAME*, using your username) and rename the folder “android' for later ease of use.
Use terminal and cd to the android folder your created. Use the command “tools/android update sdk” to make the SDK updater come up. Just tick “Accept all” in the bottom right and then click install. This can take a while depending on your internet connection.
Once you have all of the files installed, you're ready to use adb. Using terminal, navigate to /home/user/android/tools and type (For Ubuntu):
Code:
sudo chmod 777 adb
This will allow the adb file to be read as an executable. Note that this only has to be done once. Then, use this code:
Code:
sudo ./adb start-server
(replace 'sudo' for 'su' for distros other than Ubuntu)
This is necessary every time you use adb (in Ubuntu, at least). You only have to do it once per session, but if the adb process is ever killed during your session, you must do it again. I've just gotten into the habit of doing it every time I log into my computer. You could also create a boot script that does this for you... which I've been meaning to get around to. After you have the process running, you won't have to use su/sudo or ./ to use adb.
Note that one-click scripts written for Windows will have to be opened and run manually. There are scripts for Linux floating around, but I can't seem to find the thread.
-OPTIONAL- This isn't a needed step, but you'll probably want to do it. Here we're going to add adb to the paths folder so that after you have started the process as an administrator, you can run it from any folder.
Open terminal and use these commands:
Code:
echo $PATH (should return the directories associated with $PATH)
export PATH=$PATH:/home/user/android/tools (replace with path to your tools directory, you may need to add 'sudo' or 'su' to the beginning of this cmd)
echo $PATH (you should now see your tools directory added to the end of the $PATH variable)
Once done, you're set. Once you have the process started, you can run adb commands from any terminal window.
4.1.3 – Mac OS
-I don't own a Mac, never have, and I have zero experience with Mac and Android... If someone else can help with this section, I'd appreciate it -
4.2 ADB COMMANDS
This isn't a complete list, but it should be enough to get you by for your purpose.
adb shell – opens a terminal on your phone. Terminal is like the command prompt of Linux.
adb push – pushes a file to the phone. The syntax is ”abd push *file location on your PC* *Location you want it on your phone*”
adb pull – pulls a file from your phone. The syntax is “adb pull *file location on the phone* *location to be placed on your PC*
adb shell rm – deletes a file from your phone. The syntax is “adb shell rm *location and name of the file to be deleted*. NOTE: adb shell rm -r is a recursive deletion and can cause damage to your ROM and phone. Make sure you know what you are doing if told to do an rm -r.
adb devices – lists all connected Android phones.​
5.0 - ODIN
(I don't have a ton of experience with Odin, so if someone can refine this section, let me know and I'll update it)
Odin is a tool that was created for previous Samsung phones. It is a powerful tool and very useful for saving your phone from many malfunctions. As long as you can boot your phone into download mode (Hold down the “1” key on the slide-out keyboard while powering the phone on) you can almost always save your phone.
That said, Odin is also fairly experimental in its implementation on the Epic. There have been several reports of failed flashes and intermittent errors. This guide will hopefully help prevent that from happening.
5.1 – SETTING IT UP
If you haven't already, you need to get the drivers for the phone. Install them BEFORE Odin and before connecting your phone to your computer. You can get them here:
32-bit: Click here
64-bit: Click here
After that, you're going to need to get Odin. You can find that, as well as a basic guide and the stock files from noobnl, here (External link to SDX). Odin is the .rar file from the first link fo the post.
5.2 - USING ODIN
After you have it downloaded, extract the files somewhere (I recommend a folder on your desktop). From the extracted files, double-click “Odin3_v1.0.exe” and the Odin window opens. Have it completely ready to go before connecting your phone. Put all your files in the spots they belong (refer to the post where you got the Odin files for instructions on that... it seems to vary a lot depending on the purpose). Make sure that no other check boxes are ticked besides “Debug En.” and “Auto-reboot”. All the others can have very negative effects.
Before connecting your phone, put it into download mode by holding down the “1” key on your slide-out keyboard while powering the phone up. Once it is in download mode, connect the phone. The first box in Odin should come up as something akin to “COM4”. If it doesn't say exactly that, don't worry. Make sure all your files are placed correctly, and then click “Start”. It should take up to a few minutes, so be patient. Cutting this process off early can have negative effects. When it is finished, the phone should reboot.
6.0 – CLOSURE
I hope this guide helped you. If you have any questions, you can contact me, but I can't guarantee I can help you. Most devs are willing to help, too, so you can shoot them a PM and they'll try to get back to you.
Good luck and happy flashing!!
[Update Log]
*10-5-2010 - Added sections for Odin and adb/Android SDK. Updated sections, fixed typos and mistakes, reorganized a little. Fixed links.
None of those links are working for me. I get sent to a page with a message saying "Sorry, we can't find "xn--http-fb7a". We suggest that you check the spelling of the web address or search above."
Thanks a bunch, this was a very useful tutorial on the basics and for me helped out greatly with understanding where and what you need to do to be getting the best out of these awsome phones!
blasted across the interwebs by the Epic 4g!
Lonewuhf said:
None of those links are working for me. I get sent to a page with a message saying "Sorry, we can't find "xn--http-fb7a". We suggest that you check the spelling qof the web address or search above."
Click to expand...
Click to collapse
Weird. I just went through and checked them all and everything is working on my end. All the URLs are correct. Maybe try clearing your browser cache?
DevinXtreme said:
Weird. I just went through and checked them all and everything is working on my end. All the URLs are correct. Maybe try clearing your browser cache?
Click to expand...
Click to collapse
None of them work for me either. The urls all start: http://xn--http-fb7a//forum.xda-developers.com/
dwyw42 said:
None of them work for me either. The urls all start: http://xn--http-fb7a//forum.xda-developers.com/
Click to expand...
Click to collapse
That is so weird... It's showing up like that for me now, too. I've checked the source, and it stills is showing the right links in my post.... It's something on XDA's end right now... I'll look into getting it to work a little later.
Good work! This should be a sticky!
Sent from my Epic 4G
dwyw42 said:
None of them work for me either. The urls all start: http://xn--http-fb7a//forum.xda-developers.com/
Click to expand...
Click to collapse
yeah same here, i just cleared everything before "forum" from address bar and page loaded.
You might wanna ad that you need done battery life when flashing a kernal. If your phone dies during the flash your phone will be a useless brick.
You might also wanna adds the odin steps for flashing back to stock
Sent from my SPH-D700 using XDA App
mysteryemotionz said:
You might wanna ad that you need done battery life when flashing a kernal. If your phone dies during the flash your phone will be a useless brick.
You might also wanna adds the odin steps for flashing back to stock
Sent from my SPH-D700 using XDA App
Click to expand...
Click to collapse
Unless whatever you're flashing messes with the recovery partition, an incomplete flash shouldn't cause a brick. As long as you can boot to recovery or download mode, you can save your phone.
And I'm working on an Odin section for my next update to this. A lot of things will be added next time I update the main post.
Sent from my SPH-D700 using XDA App
i've got the first part of your guide done by completing noobnl's method but i cant get koush's method down. you say to hold down the volume, camera, and power buttons to boot into clockwork recovery, but it seems like it goes into the stock samsung recovery? how do i get the clockwork recovery?
The link for noobnl's easy method always takes me to Koush page not noobnl's might want to check your links there.
but very great idea and should be sticked on the front page.
dsummey30 said:
The link for noobnl's easy method always takes me to Koush page not noobnl's might want to check your links there.
but very great idea and should be sticked on the front page.
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=770388
for the proper thread
^^^ I have the same problem he did: I followed the instructions to root, but when I tried to restart with the "Epic 3-finger salute", it went into what appeared to be the stock bootloader, not clockwork.
Sent from my SPH-D700 using XDA App
bitbang3r said:
^^^ I have the same problem he did: I followed the instructions to root, but when I tried to restart with the "Epic 3-finger salute", it went into what appeared to be the stock bootloader, not clockwork.
Sent from my SPH-D700 using XDA App
Click to expand...
Click to collapse
Same with me. I selected "Flash ClockworkMod Recovery" and after a number of tries it was successful. Yet when I boot with the 3 buttons it still goes into the stock recovery.
you might wanna add how to set adb
Spunkzz said:
i've got the first part of your guide done by completing noobnl's method but i cant get koush's method down. you say to hold down the volume, camera, and power buttons to boot into clockwork recovery, but it seems like it goes into the stock samsung recovery? how do i get the clockwork recovery?
Click to expand...
Click to collapse
bitbang3r said:
^^^ I have the same problem he did: I followed the instructions to root, but when I tried to restart with the "Epic 3-finger salute", it went into what appeared to be the stock bootloader, not clockwork.
Sent from my SPH-D700 using XDA App
Click to expand...
Click to collapse
Vanquish46 said:
Same with me. I selected "Flash ClockworkMod Recovery" and after a number of tries it was successful. Yet when I boot with the 3 buttons it still goes into the stock recovery.
Click to expand...
Click to collapse
I think I know the issue here. It's that /system/ isn't being mounted as rw. Run the jokeyrim root method and then go into adb and type this:
Code:
adb shell
su
remount rw
exit
exit
If you don't know how to use adb, just wait until a little later tomorrow. I've got a whole section about it to add to the guide, but I don't have it completed yet (did some work on my laptop in the middle of writing it, forgot to reconnect my WLAN card and was baffled for most of the day...)
dsummey30 said:
The link for noobnl's easy method always takes me to Koush page not noobnl's might want to check your links there.
but very great idea and should be sticked on the front page.
Click to expand...
Click to collapse
Sorry about that. Should be fixed now. Thanks for pointing it out
mysteryemotionz said:
you might wanna add how to set adb
Click to expand...
Click to collapse
All in the works I expect to have the guide updated early tomorrow, if not tonight.
Updated the guide with a lot of new info. Two new sections for adb/the SDK and Odin as well as a general update to the whole thing. Some of the sections changed (HARD and EASY mode are now both required, unfortunately...) and some things got a little moved around.
Also, all of the links should now work correctly. Something about the way XDA was handling quotations... So I just stripped them all from the forum code stuff...
If anyone has any experience with Mac, I could use your help for the adb/SDK section, and I could also use some help from someone more experience with Odin for that part.
Thanks, guys! I really hope this guide helps some people.
not to be a pain Devin but the two links for noobnl's programs goes to the same page for the easy and hard method don't know if that's right or not but wanted to point it out to you.
Thanks again for the great guide.
David

[Q] Flash Google Apps on bSquare MDP 8660

Hi,
I tried finding a better place to post this, but there are no device forums for the bSquare MDP 8660 probably because its not that common and its a 'development phone'.
I'm using one of these devices in the lab I'm working in and I wanted to see if I could flash Google Apps on it since it comes without any of them (Market, Maps, Gmail, etc.).
Since it has an unlocked bootloader, can I just flash Google Apps (from Cyanogen's website) to it the same way you do it when installing the Cyanogen ROM? Are these files device independent? Or would this be an almost sure way of bricking the phone?
Device website: bsquare.com/snapdragon-mobile-development-platform.aspx
OS: Android 2.3.4
I would really appreciate any guidance/suggestions. Thanks!
gjain89 said:
Hi,
I tried finding a better place to post this, but there are no device forums for the bSquare MDP 8660 probably because its not that common and its a 'development phone'.
I'm using one of these devices in the lab I'm working in and I wanted to see if I could flash Google Apps on it since it comes without any of them (Market, Maps, Gmail, etc.).
Since it has an unlocked bootloader, can I just flash Google Apps (from Cyanogen's website) to it the same way you do it when installing the Cyanogen ROM? Are these files device independent? Or would this be an almost sure way of bricking the phone?
Device website: bsquare.com/snapdragon-mobile-development-platform.aspx
OS: Android 2.3.4
I would really appreciate any guidance/suggestions. Thanks!
Click to expand...
Click to collapse
Most probably yes.
Well here's my advice. Follow at your own risk. It might not probably brick it but there's always the slight risk of stuff going awry.
1) Make a Flash backup.
2) See if you have the system/app folder intact.
3) Flash the Google Market(yes, only the market.)
4) Install whatever the apps you want from the Market.
All Google apps except Market and Talk can be downloaded from the Market. You can of course flash the whole gapps update but downloading this way gives you some peace of mind and chances of avoiding any possible incompatible apps. (Like Voice Search which may not work properly on all ROMs. But, if it's AOSP, all Google apps would work and should work. )
Most of the Google apps would be device independent since most of them would use the Android API and not the native platform.
Flashing custom recovery - didn't work
Thanks for the guidelines.
I tried flashing ClockworkMod recovery so that I could make a backup of the phone, but every time I boot into recovery it shows a blank screen now. ADB doesn't recognize the device either. I tried Amon Ra's recovery and the phone is doing the same thing.
Before flashing any of the custom recoveries, the phone would just show the triangle when booting into recovery. It did show up on ADB though.
Would you have any suggestions on how I should continue? In case its of any use, I do have a package that I downloaded from the manufacturer's website that contains the original boot, recovery, and system images (along with some other files).
gjain89 said:
Thanks for the guidelines.
I tried flashing ClockworkMod recovery so that I could make a backup of the phone, but every time I boot into recovery it shows a blank screen now. ADB doesn't recognize the device either. I tried Amon Ra's recovery and the phone is doing the same thing.
Before flashing any of the custom recoveries, the phone would just show the triangle when booting into recovery. It did show up on ADB though.
Would you have any suggestions on how I should continue? In case its of any use, I do have a package that I downloaded from the manufacturer's website that contains the original boot, recovery, and system images (along with some other files).
Click to expand...
Click to collapse
As I told earlier, I'm not so familiar with the device.
If ADB is not working in recovery, it could either mean that the USB drivers(the drivers in the device, not PC) are corrupted or that the recovery is incompatible.
If CWM recovery you used is 100% compatible with your device(ie other people are using it without issues), it means that you must reflash all your files to factory and then flash a fresh copy of recovery. Simply, you must start it from scratch.
If you have no idea of the compatibility of CWM with your device,
1) Check and see if ADB/fastboot is working well with your device in other modes(boot, system). You can perform a simple file transfer and check the checksum of the original copy and copy on your device to ensure integrity.
2) If ADB/fastboot works well in all other modes but fails only in recovery, flash stock recovery(only recovery) and see if adb is working well. You can do the same thing as before. If adb/fastboot works well in stock recovery but fails in CWM recovery, it probably means CWM is not fully compatible with your device.
If CWM works well, go ahead and make a backup and proceed to flashing market. But, if like I said in 2), if CWM is not fully compatible with your device, proceed with caution.
As an an alternative, if you are going through all these ONLY to get the market, you can extract the market update and push the relevant files to the correct paths in the device using ADB in recovery or bootloader mode.
Installing only the Market app
Hi Nibras,
Sorry for not replying back to you. My college classes got started and I couldn't spend much time on this project.
I liked the idea of just extracting the Market app and installing that (since that is all I really need).
Do you think I could just use the procedure outlined below, even though I won't be doing it on Honeycomb:
Installing Android Market over your freshly installed HoneyComb will require a different approach than just installing an APK.
Make sure you have ADB up and running, and your device recognized. Refer to our guides on what is ADB and how to install it, and how to enable ADB USB drivers for NVIDIA Tegra and Tegra 2 based devices.
Download this version of the Market (2.2.11).
Download GoogleServicesFramework.apk.
Place the files in any folder on your computer and open a Command Prompt window, browsing to that folder.
Enter these commands in the Command Prompt window:
Code:
adb shell mount -o remount,rw /dev/block/mmcblk1p2 /system
adb push Vending.apk system/app/Vending.apk
adb push GoogleServicesFramework.apk system/app/GoogleServicesFramework.apk
adb shell
cd system/app
chmod 6755 Vending.apk
chmod 6755 GoogleServicesFramework.apk
exit
adb reboot
Now go to apps, open the market and sign in. If the Market won’t open at first, reboot and try again and it should work.
Click to expand...
Click to collapse
gjain89 said:
Hi Nibras,
Sorry for not replying back to you. My college classes got started and I couldn't spend much time on this project.
I liked the idea of just extracting the Market app and installing that (since that is all I really need).
Do you think I could just use the procedure outlined below, even though I won't be doing it on Honeycomb:
Click to expand...
Click to collapse
That should work I guess. But, flashing via recovery is just a one step process. =)
Update.zip also does just the above process, I guess. It just saves us a couple of steps. Also, if you make a recovery backup, if anything goes wrong(say boot loop or force close of system at boot), you can revert very easily since recovery is independent of all the other data on phone.
And, I guess you might have to push Talk.apk too. I'm not sure about it though. Some people complained that removing Talk.apk broke the Market authentication.
If you want to push Talk.apk, get the apk file and,
Type adb push Talk.apk system/app/Talk.apk after adb push GoogleServicesFramework.apk system/app/GoogleServicesFramework.apk
Also, type, chmod 6755 Talk.apk after chmod 6755 GoogleServicesFramework.apk.
Btw, you can also ignore Android Market altogether and use Amazon App Store as well as GetJar.com. They both offer install-able Market apps. Of course, they don't have a collection as large as Android Market.
@gjain89:
Did you ever try pushing the Market files to the MDP? If so, then did it work? I have one of these and I'm in a similar position.
Thanks
I have one of these...
I used adb to push the files. However the system partition barely has any room for more apps. so apps larger than 2MB won't install, unless you obtain the APK from a secondary source.
Refer to this thread for more information: http://forum.xda-developers.com/showthread.php?t=1400737
And this one: https://developer.qualcomm.com/forum/qdevnet-forums/general-discussion/6864
Plus, many apps force close.
Enjoy!
PS: Let's try to stick together, we might be able to fix some of these problems. Maybe someone could build a custom rom.

Phone won't finish boot process, need urgent help

Alright so looks like I did something completely stupid and now my phone won't finish the boot process. I was looking at some remappings for the recent key to the menu option and from a post in the development section I found a thread in the International One X development forum that had re-odexed files so that the recent key stayed as the recent key and holding the home button became the menu key. Since they were re-odexed and I had root access I figured I would just manually replace them on my phone with Root Explorer...bad idea. The files were:
System/Framework/android.policy.odex
System/Usr/keylayout/qwerty.kl
After I moved them and reset permissions I rebooted my phone and now it goes through the first couple of boot animations but gets stuck on screen that displays beats audio at the bottom.
I really need to know what to do to fix this. When I plug my phone into my computer it recognizes it as a new \drive, but I don't have access to any of it (still says I need to mount). I also have the android SDk and adb installed if thats of any help. I would really like to not lose any data so hopefully thats possible.
Please help me with this if you have any knowledge of what to do.
Just one little quick update. Even though my computer won't let me access my One X as a drive, when I use command prompt and adb to check for adb devices my One X is listed.
Run the at&t ruu exe file, located in the Dev section.
tanman21 said:
Run the at&t ruu exe file, located in the Dev section.
Click to expand...
Click to collapse
Alright I'm downloading that now.
In the meantime, how do I get root access with adb/give it permission to overwrite read only files? I pulled the two files that caused this messed and pulled my backups, but when I push them back to the phone it tells me I can't because their read only. I'd rather do it this way since I will be changing only the files that caused the problem.
EDIT: Is the RUU really going to delete all the information on my device? If thats the case I would really appreciate figuring out how to get adb to push my backuped files to the /system directory instead
ErikWithNoC said:
Alright I'm downloading that now.
In the meantime, how do I get root access with adb/give it permission to overwrite read only files? I pulled the two files that caused this messed and pulled my backups, but when I push them back to the phone it tells me I can't because their read only. I'd rather do it this way since I will be changing only the files that caused the problem.
EDIT: Is the RUU really going to delete all the information on my device? If thats the case I would really appreciate figuring out how to get adb to push my backuped files to the /system directory instead
Click to expand...
Click to collapse
Yeah, the RUU returns your phone to factory (but doesn't touch your personal files)
EDIT: Also, just pulling this off the top of my head so take it with a grain of salt...
adb devices
adb shell
su
*grant the su request on your device*
adb push <from> <to>
stnguyen09 said:
Yeah, the RUU returns your phone to factory (but doesn't touch your personal files)
EDIT: Also, just pulling this off the top of my head so take it with a grain of salt...
adb devices
adb shell
su
*grant the su request on your device*
adb push <from> <to>
Click to expand...
Click to collapse
Thanks for your comment. I used the RUU and it kept my personal data so its not a big lose. Had to reinstall a few apps, but for most of them (games at least) my saved data was still there.
I tried a lot using adb and just couldn't get it to work. I don't the phone got far enough through the boot process for root access to be allowed. I was able to run the one click root tool while it was in its stuck boot phase, but it still wouldn't give me permission to modify the /system portion of the phone to be read/write.
All in all though this was a great learning experience. Prior to this happening I knew nothing about adb and now I know commands for pulling, pushing, remounting, shell commands, and other things. I also learned how to fix a softbrick (first one) and what RUU is.

[SOLVED] Android Trojan.Gorilla.AM or Guerrilla.AM on my device OEM launcher...

(NOTE: this post is a duplicate of a similar thread I started on the Android Central user forum)
Hello everyone,
In the continuing saga of the Leagoo T5C i bought before the holidays from GearBest, I've seen the good (the price and overall build quality, along with a reasonably good user experience), the bad (some notifications that I just can't get rid of, among other things), and I now present you the ugly: after watching a review video on YouTube about my device, I learned that it came loaded with a Trojan called "Gorilla.AM"...
***EDIT: apparently, the Trojan's name could actually be "Guerrilla.AM", I'm not sure.***
Needless to say, I did as the tester had, and installed Malwarebytes, which, sure enough, found the exact same Trojan on my device.
You can watch the video here: https://www.youtube.com/watch?v=R5l3z7BvBtk
It so happens that it's embedded in Leagoo's own application launcher, called Sujet (in French; maybe it's called "Subject" in English, I don't know). I can force quit the application, since I use another launcher called Apex (good pick, by the way), but Malwarebytes can't seem to shake the Trojan off my device nonetheless.
A quick search on Google gives very little in the way of information about this malware, but I'd like to be on the safe side, so I came here.
Any contribution would be welcome at this stage.
Hi. I've seen your post on a french-speaking forum but for my own reasons I don't want to help there, too many morons.
Leagoo is well-known for smartphones with built-in spyware/adware. I've had both a Z5 and a M5 and both had such crap in the stock firmware.
This one is new to me but you'll probably have to follow the same steps to get rid of it.
Try
Code:
adb shell pm disable <internal name of that launcher>
first (from a PC connected to the device with ADB - zillions of tutorials available for this)
The internal name can be found by guessing or by using one of the many apps that will show you the information. One is https://play.google.com/store/apps/details?id=com.csdroid.pkg
If that fails, try adding "-k -user 0" to the command line.
If it fails again (denied) then you have no choice but to root your device first, then use this pm command from a root shell or directly delete the folder for "Sujet/Subject" from /system/app or /system/priv-app where you'll find it.
Lannig said:
Hi. I've seen your post on a french-speaking forum but for my own reasons I don't want to help there, too many morons.
Leagoo is well-known for smartphones with built-in spyware/adware. I've had both a Z5 and a M5 and both had such crap in the stock firmware.
This one is new to me but you'll probably have to follow the same steps to get rid of it.
Try
Code:
adb shell pm disable <internal name of that launcher>
first (from a PC connected to the device with ADB - zillions of tutorials available for this)
The internal name can be found by guessing or by using one of the many apps that will show you the information. One is https://play.google.com/store/apps/details?id=com.csdroid.pkg
If that fails, try adding "-k -user 0" to the command line.
If it fails again (denied) then you have no choice but to root your device first, then use this pm command from a root shell or directly delete the folder for "Sujet/Subject" from /system/app or /system/priv-app where you'll find it.
Click to expand...
Click to collapse
Hi,
OK, first off, thanks for the reply. Secondly, as I've stated before, I'm new to Android, and though I know my way around the command line in both Windows, Linux et OS X (not so much macOS: my MacBook Pro is 12-years old...), I suppose there are some things to set up first, before you can actually do what you suggest.
I understand that ADB stands for Android Debug Bridge, so is it an existing functionality in, say, Windows, that you can trigger from the command line, or a third-party software you have to install first?
On the Android side, what action should I take? Any Developer command to enable/disable to let ADB interact with my device the way it's supposed to?
Yes, you need to enable debug mode on your phone too. I could refer you to one of the zillion tutorials available on the net, but here's a summary.
Go to settings > about... (à propos)
Make at least 7 rapid touches on the line that says "build number" or its french translation.
This will make a new settings menu available from the main settings page: developer options
In this new menu, enable USB debugging.
Then you need to install ADB on your Mac and I'm at loss to help you there because I'm totally foreign to Macs. Never used one.
This seems like a good start: https://www.xda-developers.com/install-adb-windows-macos-linux/
Note: you may also try issuing the commands mentioned above from a terminal emulator running directly on your Android device, although I'm told that it's not exactly the same thing protection-wise.
Install this: https://play.google.com/store/apps/details?id=jackpal.androidterm and try typing the commands from the emulator window. If it works, no need for ADB (although having ADB will probably prove useful sooner or later and I encourage you to take the step).
EDIT: forget the guys from Phonandroid, they're brain-damaged beyond help
Lannig said:
Yes, you need to enable debug mode on your phone too. I could refer you to one of the zillion tutorials available on the net, but here's a summary.
Go to settings > about... (à propos)
Make at least 7 rapid touches on the line that says "build number" or its french translation.
This will make a new settings menu available from the main settings page: developer options
In this new menu, enable USB debugging.
Then you need to install ADB on your Mac and I'm at loss to help you there because I'm totally foreign to Macs. Never used one.
This seems like a good start: https://www.xda-developers.com/install-adb-windows-macos-linux/
Note: you may also try issuing the commands mentioned above from a terminal emulator running directly on your Android device, although I'm told that it's not exactly the same thing protection-wise.
Install this: https://play.google.com/store/apps/details?id=jackpal.androidterm and try typing the commands from the emulator window. If it works, no need for ADB (although having ADB will probably prove useful sooner or later and I encourage you to take the step).
EDIT: forget the guys from Phonandroid, they're brain-damaged beyond help
Click to expand...
Click to collapse
OK, thanks for the heads-up; I've already installed a Terminal emulator on the phone, so I'm gonna give it a go in a moment. I concur about Phoneandroid, alas: I've just received flak from one of the moderators because I'd double-posted on the same subject, whereas I'd just posted one thread, in the wrong part of the forum, according to him. Go figure...
OK, please feed back on your attempts, both from terminal emulator and through ADB.
Alas, I suspect that root will be required. It was for me on my Z5 and M5 to get rid of Leagoo's crapware.
Phonandroid is a bunch of losers with bloated egos posing as experts when 2/3 of the replies given are total BS.
"Er, Houston, we've had a problem..."
On Windows: "ADB is not a recognized name for a command applet..."
On OS X: "adb: command not found"
Stumped, I am...
"Er, Houston, we've had a problem..."
On Windows: "ADB is not a recognized name for a command applet..."
On OS X: "adb: command not found"
Stumped, I am...
(Additional question, not quite related: Aida64 indicates that my device runs a 4.4.49 version of the Android kernel, when the current version for Android 7.x is supposed to be 4.4.1; how does that compute--no pun intended--with my issue?)
Missing adb command is because the adb.exe (Windows) or adb (Mac) file is not in the command path. Either make the folder that contains the adb[.exe] file the current folder using the cd command or use whatever context menu for opening a command line window within the currently selected folder works, or even add that folder to the PATH variable. Google "add directory to path" for Windows and MacOS.
No idea about the kernel version. Minor kernel versions may vary within an Android release. Not surprising and most definitely unrelated to your problem. The crapware certainly isn't part of the kernel. It's most likely a system app i.e. a folder within either /system/app or /system/priv-app folders. You can't delete it without root, but you might be able to disable (freeze) it with the commands I gave you.
OK, thanks. I did "cd" to the folder where I had unzipped ADB on Windows (on the Mac, when I tried to open the ADB executable, I got a "cpu not supported" error message in the Terminal, as I feared, since my MBP is 32-bit-only, and most Mac applications nowadays only support 64-bit CPUs), and still got the "adb unrecognized command" error in PowerShell.
The phone was plugged in, and the right USB mode, so I'm still a bit baffled here. Gonna try it again with a different approach. Will keep you posted.
Over and out...
OK, here's what I got: "Error: java.lang.SecurityException: Shell cannot change component state for com.leagoo.launcher3/null to 2"
Basically, from my poor understanding of how Android works, it's root or die, right?
UglyStuff said:
OK, here's what I got: "Error: java.lang.SecurityException: Shell cannot change component state for com.leagoo.launcher3/null to 2"
Basically, from my poor understanding of how Android works, it's root or die, right?
Click to expand...
Click to collapse
I see that this phone has 7.x android. So, a Magisk Systemless flash might work. After rooting your device, get a good launcher integrate it to /system. Then delete your stock launcher all together.
Tell me if this works.
---------- Post added at 01:23 PM ---------- Previous post was at 01:20 PM ----------
rhn19 said:
I see that this phone has 7.x android. So, a Magisk Systemless flash might work. After rooting your device, get a good launcher integrate it to /system. Then delete your stock launcher all together.
Tell me if this works.
Click to expand...
Click to collapse
If you are new to this, use an app from play store for uninstalling and integrating apps.
Hi,
Yes, like I said, I'm a newbie when it comes to Android, so I'll abstain from rooting my device for now, but I'll keep your suggestions under advisement, because I suppose there'll be no other option in the long run. I'm gathering info on how to safely root a device.
I've done countless jailbreaks on iPhones, and it was always absolutely painless, but then, I had better understanding of how iOS works than I have Android, so until I know more about the OS, I'll keep my phone as it is.
Thanks again!
UglyStuff said:
Hi,
Yes, like I said, I'm a newbie when it comes to Android, so I'll abstain from rooting my device for now, but I'll keep your suggestions under advisement, because I suppose there'll be no other option in the long run. I'm gathering info on how to safely root a device.
I've done countless jailbreaks on iPhones, and it was always absolutely painless, but then, I had better understanding of how iOS works than I have Android, so until I know more about the OS, I'll keep my phone as it is.
Thanks again!
Click to expand...
Click to collapse
Jailbreaking vs Rooting is like 5-1 on difficulty level. Because Android is Open source while IOS is not. I would highly suggest you Root it if your phone does not have warranty. After all something that is on /system partition like your launcher will need superuser access to modify it. I cannot think of a way that wont void your warranty.
You can flash TWRP and then boot into aroma-fm but that will void your warranty. Rooting is the preferred option here.
Yeah, well, the phone is brand-new, and still under warranty, but that's not what's holding me back: I'd rather not brick it, most of all, because I need it, if not as my main phone, at least for connectivity.
I've read tutorials on this very website about using TWRP to flash a new baseband, but I'm curious about what firmware to choose, where to download it from to be sure it's not laden with bad stuff, and how sure I'll be to have an operable phone afterwards.
UglyStuff said:
Yeah, well, the phone is brand-new, and still under warranty, but that's not what's holding me back: I'd rather not brick it, most of all, because I need it, if not as my main phone, at least for connectivity.
I've read tutorials on this very website about using TWRP to flash a new baseband, but I'm curious about what firmware to choose, where to download it from to be sure it's not laden with bad stuff, and how sure I'll be to have an operable phone afterwards.
Click to expand...
Click to collapse
Why do you want a new firmware? I don't get you man, do you want to clear out the malware or try a new ROM? Because i think you would have to build a new ROM, there is not one available i guess.
That's the thing: the malware on my phone is part of the application launcher installed by the OEM. In other words, it's embedded inside the ROM. If I root my phone and somehow manage to get rid of this launcher, what's to tell me that Leagoo won't push it silently back onto my device under the disguise of an update?
I don't know what to do here. I understand that based on stock Android, each OEM applies a certain number of modifications to accommodate the hardware it used to build the phone, and since the SoC is brand-new, I gather there aren't many drivers available, unless I leave the current baseline in place.
I'm kinda caught between a rock and a hard place here...
UglyStuff said:
That's the thing: the malware on my phone is part of the application launcher installed by the OEM. In other words, it's embedded inside the ROM. If I root my phone and somehow manage to get rid of this launcher, what's to tell me that Leagoo won't push it silently back onto my device under the disguise of an update?
I don't know what to do here. I understand that based on stock Android, each OEM applies a certain number of modifications to accommodate the hardware it used to build the phone, and since the SoC is brand-new, I gather there aren't many drivers available, unless I leave the current baseline in place.
I'm kinda caught between a rock and a hard place here...
Click to expand...
Click to collapse
If you use malwarebytes after root that thing wont happen. And almost all of the OEMs have a trigger which voids when rooting or flashing firmware. After that the OEM wont give you updates unless you use the A/B partitioning system.
OK, I understand how rooting my phone would void the warranty: after all, it's a substantial change in the phone software, and the OEM can't be made responsible for any mishap that occurs after I've rooted the phone.
What's the A/B partitioning system (I suppose it helps partition your storage space)? I don't have a microSD card installed (I use the slot for my second SIM), but I do have 32 Gb of storage space, minus what's already used up.
Do you know KingRoot? Is it as good and (reasonably) safe a rooting tool as they say it is?

Categories

Resources