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.
A few weeks back, we talked about a mod that allows users to stylize their status bars by adding customizable color gradients. While capable of delivering quite a unique and interesting look, this modification was purely for aesthetic purposes. Now, we’re here to present yet another status bar tweak, but this one’s more than just cosmetic.
If you’ve ever wanted to monitor your device’s CPU state from the status bar, you can now do so. This tweak, just like the previous stats bar gradient modification, comes courtesy of XDA Recognized Themer mariozawa. Just like the previous modification, this is essentially a DIY project rather than a simple application. In addition to installing the supplied APK, you need to decompile your SystemUI.apk file and replace some smali code.
Once all of the instructions are followed, you end up with a customizable CPU info area in the left hand portion of your status bar. This shows both clock speed and governor, though either can be disabled.
To get started, head over to the guide thread and get cracking.
May 7, 2014 By: Tomek Kondrat
As we all know by now, Android 4.4.2 removed the previously easy access to App Ops activity. When asked, Google stated that this was for internal development use only, and was never meant to see the light of day on consumer devices. Despite this, App Opps still exists in most source-built custom ROMs such as SlimKat.
Having access to App Ops is one thing, but knowing how to use it effectively is another altogether. If you don’t know how to use App Ops effectively, you may want to take a look at a video tutorial by XDA Senior Member Kapiljhajhria. With this guide, you will learn how to deny specific permissions for a particular app, prevent an app from creating wakelocks, and monitor your device to see what permissions are in use. Kapiljhajhria made two videos, where he explains how to use Privacy Guard properly. And if you’re not a fan of learning via video, a small PowerPoint version will be released soon as well.
Used properly, App Ops is a great tool, and one that is still available thanks to source-built ROM development. If you’ve ever wanted to learn how to use it more effectively, head over to the guide thread,
May 6, 2014 By: Will Verduzco
Although they aren’t quite the most important aspect of a ROM, Easter Eggs have become somewhat of a staple in Android. Back in January, we talked about adding the Jelly Bean Easter Egg to a Gingerbread or ICS ROM. And then one month later, we talked a little bit about the evolution of Easter Eggs in Android. Now thanks to a simple guide by XDA Senior Member MuSaddiq, anyone can add KitKat’s Easter Egg to their own Android 2.3+ ROM.
In order to add in this Easter Egg, you’re going to have to first obtain the framework.jar file from your ROM. You then decompile the JAR file and replace some smali with code provided by Musaddiq. Then, you just have to recompile framework.jar, push it back to the device with the appropriate permissions, and install a particular app with the Easter Egg called by the smali code. After that, simply launch your device settings and tap the Android version number like your life depended on it.
Obviously adding the KitKat Easter Egg to your non-KitKat ROM won’t magically give it any additional features. However, it’s still cool for the novelty factory, especially if your device lacks a daily driver-capable KitKat ROM. Make your way over to the guide thread to get started.
Porting a new version of Android to an older device is a complicated process. The situation is much easier when the OEM decides to share the device tree with all necessary dependencies. But the vast majority of the time, the aftermarket developer needs to create this configuration from scratch or modify an existing tree from a similar device. Making a tree is one thing, but finding the appropriate library files to make it boot and work fully is another.
Sometimes, when a device boots up, logcat indicates that some .so libs are missing. To find out which are missing, you can use a guide created by XDA Forum Member tuxboy. This guide demonstrates how to use tools available in the Android NDK to find out which files need to be added to meet the dependencies of the executable file or library. The process is very straightforward and doesn’t require any special tools except the toolchain available in the Android source code. To make use of this method, you need Linux, Mac OS X, or any other *nix OS.
You can learn more by visiting the guide thread, so head over there if you are trying to port a ROM or find dependencies for a ported version of Android.
The Google Play Store is home to countless numbers of apps. Inside, there are hundreds of thousands of applications divided into many different categories. Most of us use it practically daily to install new software onto our devices or get updates for our favorite applications and games.
The Play Store can bring lots of fun, as well a lot of frustration when enigmatic error messages appear. Error 491 or 498 is just a number, and doesn’t really tell you how to fix the problem. But surely, someone on the Internet has already faced the same issue and posted a solution. These solutions are then spread across the web, including the XDA forums.
XDA Senior Member mohamedrashad decided to put an end to this fragmentation, and he gathered together all information regarding Play Store errors and pieced them into one thread. The errors are explained, and mohamedrashad even provides possible fixes for all found errors. The list isn’t short, covering eleven various inconveniences such as a lack of storage space and Dalvik cache problems.
If you have been or are currently facing some issues with the Play Store, head over to the original thread and give the proposed solutions a shot.
April 25, 2014 By: Will Verduzco
Cross compiling is the process of creating executable code for a platform other than the one actually doing the compiling. There are many reasons why this is of use, but arguably the most relevant is compiling for a platform that doesn’t have the required tools to build for itself.
A great example of cross compiling is building Android from source on your x86 machine. But even those who have built AOSP-based ROMs may not be familiar with the cross compiling process, as there are various tools available to make this incredibly streamlined. This then becomes a bit problematic when one wants to compile an external binary for use on the alternate platform.
Luckily, XDA Recognized Contributor JustArchi created a thorough and well explained guide on cross compiling. The guide itself begins with defining cross compiling and why it’s important. It then continues by showing users how to properly create a build environment. Then, the guide covers how to build a native C application for Android, as well as how to optimize the newly created native binaries.
If you wish to build external apps for Android devices or simply want to learn more about cross compiling on Linux, head over to the guide thread, grab a coffee, and read up.
GitHub has become the epicenter of most open source development work that is posted both here to the XDA forums and abroad. Part of the reason for this is that there are so many useful tools built into the platform that allow developers to do what they need to do efficiently, and without jumping through too many hoops. However, not every project uses all of the tools made available to GitHub’s users, and perhaps the biggest offense in “open source” projects is the lack of proper commit history.
Maintaining a proper commit history is very useful both for yourself and others working with your code. Not only does it help other developers understand the changes and additions you’ve added, but it also helps you keep track of your own project better. Sadly, there are many projects in which a static source code snapshot is shared and no repo fork or commit history given. This could be a result of laziness or because the developer has something to hide, but one thing is clear: It shouldn’t happen.
Thankfully, a detailed guide created by XDA Senior Member Mazda is available to help both new and seasoned developers efficiently clone a repo and maintain a full commit history. The guide covers both the terminal commands and the website options required. and the end result is a properly populated commit history, where other developers can learn from your experiences—in other words, true open source.
If you’re a developer looking to brush up on maintaining proper commit history, head over to the guide thread and give the thread a read.