April 21, 2014 By: Will Verduzco
If you’ve ever modified precompiled applications, you have undoubtedly spent time with XDA Recognized Developer Brut.all‘s APKTool or one of its variants. APKTool works quite well, which is why after so many years, people still use it. However, using APKTool then requires you to use a separate app such as Notepad++ to edit the decompiled binaries. Once that’s done, you then have to go back to APKTool to recompile the modified app.
In order to streamline things significantly, XDA Forum Member vaibhavpandeylive created APK Studio. Perhaps the best way to classify APK Studio would be to call it an IDE for .smali files, complete with syntax highlighting. But rather than simply allow you to edit and visualize the code, APK Studio also is able to decompile and recompile binaries from within the utility itself. Thus, it leads to a much more streamlined APK editing process, since now you only need one tool to do everything.
While ideally source-built development and app modification is the way to go, there are many times in which an app’s source code is not available, but you still wish to make a few tweaks for personal use. For situations like these, APK Studio will certainly come in handy. Head over to the utility thread to give it a shot. And if you think you can improve upon the app, download the app’s source code and have a go at it.
April 19, 2014 By: Will Verduzco
XDA Recognized Developer rovo89‘s innovative and versatile Xposed Framework allows developers to change virtually any aspect of a device’s software at runtime. And by virtue of these changes being made at runtime, users don’t have to permanently modify system files in order to achieve the desired result. Because of this, very many developers choose to create their development projects for use with Xposed rather pursuing other means.
In order to help make Xposed Module development just a few steps more streamlined, XDA Senior Member hamzahrmalik created a simple tool that automatically sets up an Xposed Module project in Eclipse. When activated, the tool automatically adds the Xposed API to the build path. It also adds the Xposed meta tags to the Manifest file, creates the appropriate packages and classes, and creates the required xposed_init file.
The tool comes in the form of a JAR file, so you can use this auto setup utility on any computer that is compatible with the Eclipse IDE. If you wish to get started creating an Xposed module, head over to the original thread and give this a try!
Some of you may think that writing code is the hardest part of development. It’s not, as the real fun starts when you have to debug an application or function. That’s why Android Debug Bridge is so important, and you can find images like this in many threads. And obviously, digging through thousands of logcat lines is every developer’s “favorite” activity.
Logcat likes to bombard users with more or less relevant information regarding various issues. To free yourself from mpdecision, thermal-engine and sensors.msm8960.so warnings, you should try out a script written by XDA Recognized Developer and Contributor broodplank1337. Lib Cleaner removes the specific lines of code from proprietary files with the Swiss File Knife tool, which replaces HEX strings and makes the code more readable. Those three files are not the only one that can be modified. It’s possible to add your own scripts and clean even more unnecessary code. The script is designed for Ubuntu-based destroys, and needs some editing to be used with Arch, Fedora, or other Linux branches.
If you are a developer or advanced user trying to find out what’s wrong with an application or newly added code, make your way to the original thread and give Lib Cleaner a try. Just keep in mind that Google added these lines forma purpose and removing them may result in unexpected behavior.
Almost every popular Android application can be downloaded directly from the Play Store, and most of us live in supported regions. However, very few of us willingly allow Google to take watch of nearly everything we do. That’s why some of us use external sites to download applications—or even better, we download them directly from the developers here on XDA. But after a while, we end up with various APKs scattered across our hard drives, and it’s quite difficult to keep track of everything.
Luckily, XDA Recognized Themer BDFreak created a handy application to organize Android applications on your personal computer. The tool runs on Windows, and it renames, categorizes, and cleans up the mess for you so that you don’t have to. If you’ve ever wondered how many duplicates you have, select your default download directory and then begin a scan. The application will then categorize APKs and inform you about your collection. It can then even rename applications to help you keep track of different versions. With this tool, you will forget about that APK mess.
More information about this tool and the application itself can be found in the original thread. So if you don’t like using the Play Store or simply have a large collection of downloaded APKs, give this handy tool a shot.
March 18, 2014 By: eagleeyetom
A PC and your Android device can work great as a pair. Writing SMS messages and browsing files from your PC is much more convenient than using the small screen on your Android device. Unfortunately, a PC requires some external application or webapp to establish a connection to your phone through WiFi.
If you are looking for a platform that will work on every PC operating system and is able to communicate with your PC, you should take a look at ConnectAir by XDA Senior Member svprm. ConnectAir allows you to connect Android devices to Linux, Windows, and Mac OS machines and perform some basic things like reading SMS messages and browsing files.
Android to PC isn’t its only feature, as ConnectAir also allows you to connect two phones or two PCs. The feature list is long and contains many interesting possibilities like sharing files, viewing the phone book, and much more. To properly run this app, you need to download a client on your PC, as well as an application on your mobile device.
More information about ConnectAir can be found in the application thread, so go there to learn more.
Android development is divided into few categories. One is source-built development, which includes creating applications or custom device trees. Another category involves modifying system applications that are closed source. These applications can be obtained from the device with ADB command or by extracting the image file of the update. It’s quite simple on Linux, as few commands can do the trick, but situation gets more complicated when Windows is your desktop platform of choice.
If you are planning to extract an image file, you should try a nice graphical editors, like the one shared by XDA Senior Member dbzfanatic. His tool allows you to easily unpack IMG files. The app also allows you to view some files as text or hex, which might be important to understand which parts need to be changed. After extraction, files can be decompiled, changed with APKTool, and packed back as a custom ROM with your own improvements.
You can make your way to the utility thread to download the latest version.
March 16, 2014 By: Will Verduzco
It’s no secret that building a custom ROM from source is much preferred to starting from a manufacturer-provided firmware and then adding on a few modifications. Building from source allows users much more freedom to merge commits and change practically anything they’d like. However, there are times when some users would prefer to start from stock firmware in order to keep OEM-specific functionality. Sony Xperia devices are no different, as for the most part one must choose between OEM-specific functionality and source-built goodness.
Those who have taken to modifying OEM-provided ROMs on Sony Xperia devices may have noticed a few issues recently. Ever since the latest round of official firmware updates, it’s been a bit difficult to modify the framework-res.apk file. While the decompile, modify, and recompile process goes as planned, users generally face a bootloop when using the newly recompiled file.
Luckily, XDA Recognized Themer BDFreak released Advanced APKTool. This utility not only solves the framework-res.apk issue on the latest round of Xperia updates, but also incorporates a bit of automation and user friendliness into XDA Recognized Developer Brut.all‘s APKTool. It can also automatically decompile, recompile, sign, and zipalign APKs and JARs—and all this is done from the comfort of an easy and menu-driven interface.
To get started, simply head over to the utility thread, and give the latest version a whirl.
March 1, 2014 By: eagleeyetom
Computer programmers use many different coding languages. To effectively work with Android, you need to know Java, C++, and XML. Android devices can be used to compile projects in other languages like Go, which was developed by three Google employees back in 2007.
Go, although being a Google project, has no default build options on Android devices. Luckily, XDA Senior Member alireza7991 ported a set of Go tools required to compile on Android. The project includes Go Compiler, Go Linker, Go Packages, and Net support. With this installed, you will be able to write code, compile it on the device, install it, and run it. To play with Go code on your device, you need a rooted ARMv7 device. A NEON-compatible SoC is suggested for faster compilation times.
Installation is very simple, and requires you to side load the tools to your device in recovery mode and reboot. Main commands are explained in the original thread, where you can also find a download link.
February 25, 2014 By: eagleeyetom
A boot animation is the first thing a user sees after turning on a phone or tablet. This introductory part of the ROM is very important, and directly influences our experience of said ROM. For this, Android uses PNG files and a desc.txt bundled into one zip. The text file contains resolution and frame rate information so that the boot animation displays at the correct size and with the desired speed.
Making a public preview of boot animation wasn’t as easy as it sounds. Recording from a device with a video camera definitely doesn’t look professional, and the video quality leaves much to be desired. If you ever planned to make a video of your boot animation, you should definitely give a try to a Windows-only tool written by XDA Forum Member makers_mark. A batch script pulls down the boot animation from the device using ADB. Then, it converts the bootanimation into an MP4 file that is ready to be uploaded to YouTube or similar video delivery services. The script uses such tools like 7zip to unpack the archive and FFmpeg to convert those files into a video. The process is carefully described in the thread, with an explanation of the particular elements that go into boot animations.
The tool works only on Windows machines, and it can be downloaded from the original thread.
February 22, 2014 By: eagleeyetom
Pushbullet is one of my favorite applications, and it became a must-have on my device ever since I first tried it. It’s a great tool that allows users to perform a variety of tasks such as share a photo and sending relatively large files between a computer, phone, or tablet with ease. The tool was featured some time ago, but it has been updated a couple of times since then. XDA Forum Member guzba and his crew haven’t been sitting idle, and now Pushbullet has its own version for Windows.
Previously, this app worked as an extension for Chrome or Firefox. But this wasn’t perfect, as those two browsers aren’t used by everybody. Now, the Pushbullet team announced on their blog that a dedicated application for Windows is out and they are looking for beta testers.
Having a standalone app is beneficial because a PC is now treated as a separate device. It can now be used to send or receive notifications, without needing to have a browser running in background. Another great thing is the ability to sending files directly by right clicking on the file and selecting a pushing option.
Ever heard about Docker? If you have, you surely know what a great piece of development work it is. If you haven’t, I’m going to explain what exactly Docker is and why it should be considered in the Android development world. Quoting the Docker website:
Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere.
Docker containers can encapsulate any payload, and will run consistently on and between virtually any server. The same container that a developer builds and tests on a laptop will run at scale, in production*, on VMs, bare-metal servers, OpenStack clusters, public instances, or combinations of the above.
In plain English: Docker provides a standardized method of putting your applications into a server or other type of hosting or storage.
So why is this relevant? Well, Docker can be used to build a CyanogenMod really easily, without reliance on dependencies, requirements, and even files itself. This is all thanks to XDA Forum Member michael_ch, who created a Docker script that puts together all dependencies, install them in the container on your PC, and allows you to start an Android build process with just few commands.
All you need to do is initialize the repo, sync it, and type standard commands to start a build. To properly use this script, you need to have Docker installed on your system. Officially only Linux is supported, but there are some instructions to launch it on Mac or even Windows. If you never tried Docker before, building a CyanogenMod using the tool might be a nice learning experience.
Android is undoubtedly a great operating system. A wide variety of devices, an easy-to-use interface, and relatively low device prices make Google’s system the first “smart” operating system. Android is almost complete. It allows you to tap like a maniac to squeeze a bird between two pipes or inhale your daily dose of Android news. This Linux-based OS doesn’t offer many things that GNU has to offer, but luckily the development-fu is strong on XDA. Because of the aftermarket communities, this small operating system can be given some serious Unix power.
Not too long ago, we talked about GNU CoreUtils as an alternative to Busybox. The developer responsible for that tool, XDA Senior Member alireza7991, decided to expand his project a bit and make the source for the most common tools public. Tools like grep, wget or make are compiled with GCC 4.8.1/4.8.2 toolchain and optimized to get the best performance. If you are planning to test them, simply download the package, unzip it, and push it to /system/xbin with ADB or your favorite root-based file explorer.
More information about the project and a complete list of tools can be found in the original thread, so please go there and give it a try.
February 13, 2014 By: eagleeyetom
If you are a Sony Xperia user eagerly awaiting the latest OTA updates, you must remember that in order to receive the update, your phone must be running stock firmware. By unlocking the bootloader, your phone won’t be able to directly install the OTA, and will lose features such as Sony Bravia Engine. Furthermore, you may also face difficulties with your warranty. You can avoid these issues with the Backup TA for Sony Xperia tool by XDA Senior Member DevShaft. The only disadvantage is that it works only on Windows, so users must use a Windows machine or virtualization software like VirtualBox to back up and restore their keys.
Now, thanks to XDA Forum Member limiter121, Mac OS X users can use Backup TA on their machines. The developer has re-written the script, which is now compatible with Apple’s latest OS builds. And in the future, Mac OS X might be included in the official release. This tool should work with all Xperias with TA partitions, and the developer was kind enough to write a FAQ, which can be found on Bitbucket alongside source code of the tool.
More information can be found in the original thread.