• 5,606,728
  • 36,746

Posts Tagged: tutorial


Usually when you think of the word “tethering,” you think of using your mobile device’s data connection to provide the glorious Internet awesomeness of memes and lolcat images to your desktop or laptop computer. Often times, however, you may find yourself in need of Internet access on your mobile device in an area lacking WiFi or network connectivity. In these cases, you must reverse tether.

XDA Forum Member phamthanhnam created a detailed guide for rooted users that allows you to share your PC’s Internet connection with your mobile device over USB. This works with Windows, Linux, and Mac, and it does not require any additional tools. However, you must enter in some terminal commands on your mobile device.

As stated above, you need to be rooted. Further, your device must support USB tethering (under Wireless  & Networks). Often, this is disabled by stock ROMs, but can be easily re-enabled. You also need a PC with a working Internet connection, a USB cable, and a terminal emulator on your Android device. Alternatively, you could enter the Android terminal commands via ADB rather than terminal emulator, if you have it installed.

Now, we’re not going to lie. There are quite a few steps required to make this work. However, the end result is reverse tethering without having to install ANY additional bloat-inducing software.

Grab a cup of coffee and make your way over to the guide thread to get started.


For the vast majority of situations, preexisting keyboard layouts are more than adequate. After all, most input fields in most apps require the input of letters or numbers, and pretty much all aftermarket keyboard solutions have adequate layouts for both situations. However, if you’re authoring an app that requires a more purpose-built keyboard, the standard layouts may no longer suffice.

XDA Senior Member SimplicityApks recently created a math analysis tool called FunctionCapture. In creating his app, he quickly found that requiring users to use the default keyboard layouts would prove too cumbersome. Instead, he decided to create his own keyboard layout, tailored for the functions required by his app.

After learning how to create a custom layout, SimplicityApks then shared the instructions in an easily comprehensible manner. Much of the guide is based on a previously created tutorial by developer Maarten Pennings, which the OP has then expanded to include why you perform each of the steps. And to make the overall look match the theme of your app, SimplicityApks has also included a guide (second post) on how to theme your newly created keyboard, so that it matches the overall look and feel of your app.

If you are designing an app that requires non-standard user input, you may want to look into using a custom soft keyboard layout. To learn how to implement this in your own app, head over to the tutorial thread.


Most of us here are already quite familiar with the ADB (Android Debug Bridge). Heck, I’d even wager that many of us use it on quite a regular basis—adb pushing and pulling files, adb rebooting, running shell commands, and so on. Most new users, however, have not had such exposure. And let’s face it: For youngsters born after the emergence and popularization of the GUI, command line interfaces can be rather intimidating. So if you’re a seasoned veteran who knows ADB like the back of your hand, this article is not for you. But if you’re a new user looking to learn a little more about this great tool, read on!

The Android Debug Bridge, which comes as part of the Android SDK, allows for communication between your desktop computer and target device. So what can you do with ADB? Quite a bit. As alluded to earlier, you can push files to the device from the client PC, pull device from the device to the client PC, you can reboot (to Android, bootloader, or recovery), record a logcat, obtain a bug report, execute many standard Linux commands, and much, much more.

The biggest problem for new users becomes knowing what commands can be executed and remembering the proper syntax. Luckily, these commands and their syntax are all pretty understandable. For example, take a look at the following commands in proper syntax:

  • adb start-server : This command starts the adb daemon on your desktop computer and allows your computer to interact with your device. Note that this command isn’t essential, as executing any other ADB command will automatically start the daemon.
  • adb kill-server : As you would expect, this kills the adb daemon.
  • adb logcat : This generates a logcat, which is quite useful when figuring out where things are going wrong. You can redirect the output into a text file by using “>”. For example, you can type “adb logcat > logcat.txt” to record your logcat as logcat.txt.
  • adb bugreport : Generates a simple bug report. Just like logcat, you can redirect this into a text file using “>”
  • adb install <local apk name> : Installs an APK from your desktop computer directly to your device.
  • adb pull <source path and filename> <destination path and filename> : Pulls the specified file and deposits it into the specified folder with the specified name.
  • adb push <source path and filename> <destination path and filename> : Functions like adb pull, but in reverse.

The above, however, is not nearly comprehensive. These are just some of the more common commands that you’ll encounter.

For those looking to learn a few more, or those who would simply like to see a visual output of these commands in action, XDA Recognized Contributor doctor_droid has created a basic guide that covers everything a beginner needs to know in order to accomplish basic tasks through ADB.

Doctor_droid has also includes a direct link to the required ADB binaries for Windows users so that you don’t have to download the SDK for the sole purpose of getting ADB up and running. While the installation procedures are strictly for Windows users, the rest of the guide is equally valid for Linux and Mac users.

If you’re a new user looking to learn a little more about ADB, or even if you’re a seasoned vet looking to make sure you know all of the common commands, head over to the guide thread to learn more.


The ability to make your mobile experience truly your own is what sets Android apart from other mobile OSes. This is why we flock to things like Themer, as well as other pre-made themes. Another avenue to take, however, is to get into the nitty gritty and do it all yourself.

The XThemeEngine by XDA Senior Member ruqqq is a great delivery method for user-created themes. Similar to the TMobile Theme engine of yore, the engine allows you to install a theme apk and activate it from the app’s menu. In other words, no flashing zips, and no metamorph. Instead, all you need is to have installed is Recognized Developer rovo89‘s powerful Xposed Framework (thread).

What if instead of using pre-existing themes, you’d rather make your own? Luckily, Recognized Contributor saqib nazm has written an incredibly thorough guide to theme creation with XThemeEngine. He even includes directions on how to port existing themes that were originally intended for the TMobile/CM theme engine. To get started, you’ll obviously need Xposed and XThemeEngine. Then, you’ll need something to work with the base APK, such as Virtuous Ten Studio, as well as a visual editing software package like Paint.NET.

Head over to the guide thread and get to some serious customization.


In this episode, XDA Developer TV Producer TK shows you how to root your Samsung Galaxy Note 3 with Odin and a PC.  TK just recently reviewed the Samsung Galaxy Note 3, and it is the latest in Samsung’s phablet line. Many people say it’s a great device that is the current device to beat and is wonderful out of the box. But at XDA, we must root all the things.

TK presents step-by-step instructions on how to gain root access on your Samsung Galaxy Note 3 using tools from the XDA Developers Forums. The process is works for a majority of the variants. You will just need to follow the below links to XDA Elite Recognized Developer Chainfire’s thread and find the specific files for your variant. So take a moment and check this video out.



Some time ago, we covered a quick tutorial aimed at helping users learn how to generate a logcat. We’ve also covered a few tools that help you easily come up with output from this all important diagnostic tool. However, most of the material we have covered in the past has been geared at providing you with information that you would then send over to your favorite developer when something isn’t working right.

What if instead you learned how to read the output so that you could better diagnose your own issues? This is exactly what XDA Forum Moderator Stryke_the_Orc wants to help you accomplish with his guide. Though not an overly complicated task, spotting errors in a logcat output is often harder than it sounds.

The guide (naturally) begins by showing you how to obtain a logcat on Windows and Linux/Mac. There are, once again, quite a few tools, guides, and ways to do this. However, Stryke_the_Ork covers how to do it manually using the Android SDK\Platform Tools folder. He even shows you how to obtain a logcat during a bootloop situation. Once you already have your logcat handy, the guide shows you how to filter your logcat by application so that you only see what you want to see.

To make a little more sense out of the output from this handy tool, head over to the guide thread.


If you like to theme or otherwise modify your mobile apps, you have surely had to sign a fair number of APKs in order to then install them to your device. Unfortunately, though, this typically means having to use your PC. Normally this wouldn’t be a problem, but if you wish to do a bit of app modification on the fly and away from home, this could present a little bit of an issue.

Thankfully, XDA Senior Member thewarlord briefly outlined the incredibly simple steps required to sign both an APK and a flashable update.zip from the comfort of your mobile device. The guide is split into two parts: one for APK signing and one for update.zip signing. The process for either involves using the freely available ZipSigner app, and selecting the proper options. And if you also need to decompile and recompile your app on the fly, you are instructed to use the open source APKTool for Android.

Road warriors should head over to the mini-guide thread to get started


If own a Sony Xperia device and have switched out your ROM for an AOSP-derived firmware such as CyanogenMod, you may miss a few OEM-provided pieces of software from time to time. Some of the interesting value-added software provided by Sony include their “small apps,” as well as their upgraded task switcher.

Thankfully, XDA Senior Member lukakas has created a guide to help you port these Sony-specific additions to CyanogenMod 10.1 (and perhaps any ROM based on Android 4.2.2). More specifically, the guide allows you to bring the Sony Xperia Z-specific versions of those addons.

The guide is extremely well written, and even features a helpful YouTube video that shows some of these additions in action. The guide walks you through the process of decompiling and modifying android.policy.jar, framework.jar, framework-res.apk, and SystemUI.apk. All of the modifications as well as what to do afterward are clearly outlined and color coded.

Head over to the tutorial thread to get started. Kudos to lukaskas for the well written and easy-to-follow instructions.


One of the most important tools we have for flashing images directly from a PC is fastboot. Almost anyone who’s rooted an HTC or Nexus device has used it, either through command line or through an automated tool making use of fastboot.

After all, this is how we execute that fastboot oem unlock command that we all know and love on Nexus devices. However, there’s much more that you can do with fastboot. Now thanks to XDA Recognized Contributor demkantor, we have a simple and incredibly easy to understand guide that teaches you how to setup fastboot, what it can do, how you can use it, and why you would even want to use it.

After drawing parallels to ADB and giving beginners a brief overview of what it can do, the initial setup is covered with two options: either manual setup via the Android SDK or a more automated tool to obtain the requisite binaries. After this, basic fastboot commands are covered such as erasing an existing partition or flashing it with an image. Sample output text is provided so that you know what to expect when doing it for yourself for the first time.

If you’re a new user who has never used fastboot, now would be a great time to learn. Head over to the guide thread to learn more.


Not too long ago, we covered a pair of guides by XDA Recognized Contributor matt95 aimed UnRUUing and decrypting HTC Rom Update Utilities. As it turns out, these guides aren’t the only contributions matt95 has made to the community.

Matt95 has also penned a simple guide meant to get future developers started quickly and easily with a Ubuntu-based build environment. If you’re been putting off learning Android development because you don’t have the requisite software installed, this guide may come in handy. The guide itself was written with Ubuntu 13.04 in mind, but the steps are nearly identical on other versions of the OS and still relatively similar on other Linux distributions.

Matt95′s guide starts with the extreme basics (i.e. installing Ubuntu). After the OS is loaded, matt95 covers the software needed for the developer environment, as well as how to install it. This includes tools such as JDK, GNU Make, Python, Git, the Android SDK, and additional packages.

If you’re looking to get started with development, make your way over to the guide thread to learn more.


XDA and its members are known for two things: being awesome and custom ROMs. Back in the Windows Mobile days, just about every tweak had to be setup in the ROM by the chef and flashed to your device. With Android, things have become more flexible. The most flexible option is the Xposed Framework. With this, you can cherry-pick different mods you want to add to your device.

In today’s video, XDA Developer TV Producer Kevin talks about the Xposed Framework. He gives a basic overview of what Xposed does. Then, Kevin talks about a few custom modules on XDA and shows what they can provide for you. So if you want to learn more about the Xposed Framework, check this video out.



Yesterday, we featured a quick guide  by XDA Recognized Developer KINGbabasula aimed at helping users make sense of the ubiquitous updater-script. While the guide that we shared talked about  many of the commands available in Edify, it naturally didn’t cover everything. In order to keep things simple, much was left out.

If you already consider yourself to be facile with the information in the previous guide, it may be worth checking out another guide on the Edify language used in the updater-script files, courtesy of XDA Recognized Contributor kurotsugi.

Based on a guide originally published over at FreeYourAndroid, kurotsugi’s Edify guide covers 26 different commands, many with syntax, parameter details, taken action, and what the functions return if applicable. Related functions are  organized near each other, giving the guide’s covered functions more context. And like the previously covered guide, understandable explanations are aplenty.

If you’re relatively new to the platform and want to learn a little more about the Edify language used in modern updater-script files, head over to the guide thread to get started.

[Thanks to XDA Recognized Contributor Deadly for the tip.]


If you’ve ever flashed any aftermarket development work or theme through a custom recovery, installed an OTA update, or used the powerful AROMA file manager, you’ve used an updater-script. No big deal, right? Everyone who reads this site should already know this.

What not every beginner can do, however, is look into the updater-script and make sense of it all. We’ve featured a few tools in the past that help users create updater-scripts, but it’d also be good to know what it all means. Now you can, thanks to a new guide.

Authored by XDA Recognized Developer KINGbabasula, the guide takes an example updater-script and explains various commands. These include getprop, mount, package_extract_file, set_perm, run_program, symlink, set_perm_recursive, and several more.

If you’re a beginner who wants to learn a little more about the ubiquitous updater-script, head over to the tutorial thread and get your reading on.


XDA TV: Most Recent Video

Buy/Sell on Swappa