July 15, 2014 By: Tomek Kondrat
Every developer, even the most capable, was at one point a newcomer. When you are a new to development and need light to show the way, there’s little better than a guide showing you where to start your journey.
If you want to try your luck with developing for Android, XDA Recognized Contributor jackeagle offers you a nice ride through the depths of coding. Jackeagle wrote a complex guide, in which you can find information about Android and its basics, as well as what is even more important, instructions on setting up a build environment using Linux. You will find a step-by-step tutorial about how to install Ubuntu on Virtualbox and configure it properly to build your very first ROM compiled from source. Every step is illustrated with a screenshot, so it’s really hard to get lost.
This guide was meant to serve a vital purpose for newcomers who haven’t yet had a chance to play deeply with Linux and Android. If you know how to use Linux, it’s still a good reminder about all commands needed in setting up process.
To find out more about Linux and Android and eventually build your own ROM from source, head over to the guide thread to get started.
Around the time of the OnePlus One‘s release, the CyanogenMod team decided to use refresh their Theme Chooser. One of the new functions that has been added is an ability to change the font, system-wide, without messing with /system/fonts folder. To change your system fonts using this new functionality, the font must be made as an application. If you have a favorite font somewhere on your PC and want to use it on Android, now you have a chance to do it really easily.
Even if you are relatively new to Android and development, you can create your own font package without too much hassle. To help you out, XDA Senior Member codekidX created a handy guide that shows all the changes that need to be made.
To start playing with fonts, you need some IDE installed. You can use either Android Studio or Eclipse, since both of these programs can compile an APK. After installing an IDE and finding a font file that you want to use on your system, you need to follow just four steps to get the font ready to install. This guide is only useful when you are using a CyanogenMod 11 or its forks with newest Theme Chooser, so keep that in mind before starting your learning process.
Is your OS looking a bit boring? Why not giving it some new life! All you need to do is visit the original thread to get started.
Much of the Android’s beauty is in the ability to change practically every part of the OS—both in terms of aesthetics and functionality. There are several ways to go about this. One way is to modify apps before compiling them from source. Another involves decompiling and editing already compiled, ready-to-use binaries.
Theming your ROM is one way to make it look cooler and more personalized. Many custom ROMs use the T-Mobile Theme Engine, which allows the use of external themes prepared by third parties. Stock ROMs usually don’t allow the use of such themes, so you’ll often have to resort to APKTool or equivalents.
If you’re a Sony Xperia user, you can now easily change the color of Phonebook and Dialer applications thanks to a thorough guide by XDA Senior Member Rajeev. This guide explains how to change the XML files to get rid of the stock values. Fear not, no Smali knowledge is required, so even the freshest newcomer will be able to do it with the available tools. Rajeev’s method method works only on Xperias with Android 4.1 or greater, but you can easily adapt it to work with other stock ROMs like Sense or TouchWiz.
Naturally, you need to be rooted in order to push some files back to the /system partition. APKTool or a similar utility is needed as well in order to decompile and recompile the APK files. If you find the stock dialer and phonebook colors boring, head over to the guide thread to get started.
June 23, 2014 By: Tomek Kondrat
One of the most interesting features of OmniROM is OpenDelta. This innovative OTA system created by XDA Senior Recognized Developer Chainfire uses open delta technology to bring updates in an easy, bandwidth-friendly way. In short, OpenDelta downloads only files that were updated since the last downloaded nightly.
If you thought that OpenDelta was a feature only available in OmniROM, you were right. But it’s an open-source project, so porting it to work with other ROMs is absolutely possible. If you ever wondered how to add it to your ROM, XDA Senior Member werty100 made a pictorial guide with a complete explanation of OpenDelta usage. With werty100′s guide you will learn how to set up Eclipse to compile an OpenDelta APK and even more important, which values should be changed to work with other ROMs with nightlies.
To fully incorporate the incremental OTA system into any ROM, only two files require some XML changes. And since it’s not as difficult as Java or Smali, almost everyone should be able to add it to their ROM.
If you are keen to learn more about making OpenDelta work on almost every ROM, head over to the original thread to find all the relevant information.
As you may already be aware, rumor has it that Google is planning to redefine the overall UI look and feel in Android. Not too long ago, we talked about Quantum Paper, the rumored unified UI that may define Google products across all platforms. These changes may be unveiled very soon, as Google is gearing up for its I/O event next week.
If you are eager to achieve a similar effect to this rumored UI paradigm in your application, there are ways to make your own apps more Quantum Paper-like. In order to show developers how to easily achieve this, XDA Senior Member krishneelg3 outlined the process. The tools that you need, in addition to basic coding knowledge, are an Android IDE like Eclipse or Android Studio and a good image editor to edit the graphics.
Krishneelg3 explains all this in detail, with regards to what needs to be changed to apply this new UI. The developer was also kind enough to provide a package with resources, which will help you out in smooth transition into a Quantum Paper-like UI. To complete the process, some changes in various XML files are needed, but everything is served on a metaphorical silver platter.
If you are an app developer and want to change the look of your projects to be up-to-date with the newest Android UI concepts, head over to the guide thread to learn more about Quantum Paper transformation.
June 13, 2014 By: Tomek Kondrat
When you first came to XDA Developers, the world of Android modification was likely very new to you. Custom ROMs, kernels, recoveries were all more than likely previously unknown. Compounding matters, these things pieces of development work often have different installation procedures, depending on target device.
If you are just beginning your Android journey and happen to own a Sony Xperia device, you might be interested in a guide by XDA Senior Member cy56. This guide is very newbie friendly, and it explains the process of backing up, wiping, and flashing everything for the first time.
The guide is thoroughly detailed, and contains specific sections for Xperia devices since the kernel flashing on these devices is not done through fastboot. Keep in mind that every firmware version and device are a little bit different. However, the guide begins with CM10 and ends on KitKat-based ROMs.
If you are an Xperia user and want to start the journey towards custom ROM and other tweaks, make your way to the guide thread to get started.
Kernel development is undoubtedly one of the most popular and important types of development here on XDA. There are literally thousands of kernel projects available on this site, spread across almost every supported device forum. Creating something original definitely isn’t easy, but given the Linux kernel’s open source nature, it’s easy to learn and incorporate external features into your own builds.
If you ever wondered how to make your favorite kernel even better, you are in the right place to learn! XDA Forum Member srsdani created yet another great video tutorial. This time, srsdani shows viewers how to play with kernel and add some things like CPU governors and I/O schedulers.
There is also a short video explaining how to use the make menuconfig option, which is very useful if you want to add some new features to existing kernel source. After following the steps shown in these videos, you should get ready to flash your new kernel image with the newly added functions. Then once you’ve gotten the hang of things, you can try with other features.
If you are eager to learn some of the basics regarding kernel development such as adding governors and schedulers, visit the original thread.
Not too long time ago, we compared Linaro and GCC to see whether changing your compiler could result in better performance. The process of compiling a kernel with Linaro and other toolchains is similar to using GCC by itself. However, it requires a bit of knowledge and preparation, and this is where guides and tutorials come in.
If you prefer to learn in video form, you should definitely check out the video guide series by XDA Forum Member srsdani. This series of eight movies guides you through all the issues you may face while installing a Linux distro on a VM, configuring it, and of course, building a kernel with Linaro.
The process will take you couple of hours, so this guide will be a perfect companion on your journey to Android development. The guide also contains a few tricks that can be used to extract the kernel config, or dump a boot.img, making the video tutorial even more interesting.
You can find the videos in the original thread. So if you are keen to learn new things related to kernel development, head over there and give it a try.
The path to becoming a great Android developer is not straightforward. To make an application or modify an existing one, you need to know Java. To write a good application, you need to know all of the language’s nuances. Much of this information is available in resources found here on XDA. Applications written in Java use listeners, small functions that launch an activity when you press a certain part of the screen.
XDA Senior Member mohamedrashad wrote a useful guide to help new coders understand listeners better and learn how to use them. The guide explains how to define a button in Java, initialize it, and add a listener to launch the activity. You will also learn how to add Checkboxes and Radio buttons, and how to use them in groups. This is naturally just a small part of the Java language, but it can undoubtedly be useful for many—both newcomers just beginning their journey in Java an experienced coders looking for a refresher.
To learn more about depths of Java programming and how to use listeners in your app, head over to the guide thread.
May 27, 2014 By: Tomek Kondrat
Building ROMs from source is becoming increasingly popular. While most who decide to build their own ROM do so to learn something new, some share their builds with community. However, ROMs are not always created from scratch. Some features are taken from open source projects that have their code publicly available on a Git.
Big projects with many contributors use the web-based software review tool Gerrit. Using Gerrit is a bit different than Git, and we covered a great guide some time ago. This tool can also be used to cherry-pick single commits, and a simple guide by XDA Senior Member jabza will show newcomers how to do this.
Jabza’s guide shows new developers how to use terminal to get one commit and resolve errors afterwards. Jabza uses ParanoidAndroid’s Halo as an example, but his instructions can be applied to any other open source project. With just few steps, you will be able to add some useful features to your ROM.
If you’re a new developer and you want to learn how to cherry pick useful features from other projects, make your way to the guide thread and give it a shot.
We’ve all seen that little empty box before. You know, the one that signifies a missing or unsupported font on your current device. This might not be quite so common for those of you out there with English as a first language, but for others with less commonly used native languages, this can be a frequent and frustrating issue. This problem seems to be quite an issue for many Windows Phone 7.x users including XDA Forum Member adeen-s. But rather than sit back and deal with the problem, adeen-s took this as an opportunity to post a simple and useful guide that shows you how to shoehorn these unsupported fonts onto your WP device.
The process itself is pretty simple, but does require a fully unlocked device and applications such as WP7 root tools and WMDC to add the font files directly to your device. Ironically, many of the font files can be found in the fonts directory of your desktop copy of Windows. You’ll then need to make a few tweaks to the registry before being able to reboot and start viewing sites and documents that aren’t full of little empty boxes.
Check out the forum thread for the full set of instructions.
Boot animations are one of the first things that you see after turning on your device. They are in fact just a set of images in the specified PNG format, but they make a ROM seem unique. Sometimes, they are even our favorite part of a particular project. If you are an intermediate Android power user, it’s relatively easy for you to create a boot animation, but you need to have the right tools to do it without editing files manually. It’s a long process and why to choose the manual way when there are plenty of more optimized methods?
One such tool is Bootanimation Factory by XDA Recognized Developer despotovski01. To make using it even easier, XDA Senior Member jackeagle wrote a guide showing new users how to use this Windows-only tool. The guide is full of pictures so that you won’t get lost creating even a very long boot animation. By following this guide, you will learn which tools are the best for you to create your own, which will proudly be displayed every time you run your favorite ROM.
You can learn more by visiting the guide thread.
XDA is full of various source-built, AOSP-derived ROMs. If you are trying to build one of them for yourself, it doesn’t really matter whether it’s Omni, CyanogenMod, AOKP, Slim, or any other ROM—the build instructions are pretty much the same.
In order to build Android on your own, you need to know three commands to start the environment, launch your device, and start a build by typing make. However, Android’s developers prepared more than these three commands. With various commands you can easily compile a single application, framework, or kernel, as well as perform many other tasks. If you are interested to learn more about build process, you should spend some time reading a comprehensive guide written by XDA Senior Member v_superuser.
In this guide, v_superuser explains various commands used in Android build process. Some commands are rarely used, but they’re still good to know just in case. The guide also explains the make process graphically, so you will finally understand how Linux or OS X processes files to build a shiny system.img.
Explaining make is not all that this guide has to offer. Through reading it, you will learn how to speed up your build using Ccache, which combined with handy scripts will make a build process nothing but pleasure. This guide contains most of the definitions that wikis and Google have to offer, and they are gathered together so you don’t have to browse the Internet to find every single command. Everything is here in one place.
If you are beginning your journey with Android or just want to learn more about this amazing OS, don’t hesitate to visit the guide thread for a great resource of information.