android_porting_guidebook icon indicating copy to clipboard operation
android_porting_guidebook copied to clipboard

Android Porting Guidebook, an attempt to catalogue everything there is to know about the complications of Android ROM porting.

Android Porting Guidebook

The aim of this book is to document all of the common errors one encounters in the process of compiling an Open-Source Android ROM for a phone that is not supported by the ROM's official development team, in order to encourage wider support for custom ROM's on a wider variety of phones, including budget offerings. When completed, I want this book to bring it's readers from near-zero knowledge about Android porting or Linux Kernel hacking to being able to successfully port an unsupported device to a custom ROM of his or her choice.

And I mean really, really fucking baby step it.

Devices used during the composition of this book include, but are not limited, the ZTE Force(hayes, aurora), the Samsung Galaxy Centura (SCH-S738YBATFN), and the LGE Optimus Logic(LG-L35G).

On Free, Libre, and Open-Source Software:

In spite of using Linux as its kernel, it is currently not possible to drive any existing Android phone using only software which is freely available for anyone possessing it to review, improve, or modify, but the creator of this guide is of the opinion that it is important that there should be a "Free Software" program to operate every function of a person's device, even if most users do not employ their use. The reason that I believe this is because when a Free Software component is available in addition to a proprietary component, the manufacturer has incentive to provide the best service possible because if not, that service can be found from the community instead. For these reasons, this guide will always reccomend the Free Software versions of any required software first, but when no other option is available, it will present instructions for legally including/installing required proprietary software. I would like to emphasize that in the case of any program where a proprietary component is the only option, the inclusion of these instructions is only so they may be used to implement a fully-free version when or wherever it is legal and possible.

How To Contribute

This book is free-as-in-freedom and will always remain so. In case you don't know, that means you are free and encouraged to report errors, contribute chapters, create your own annotations, or even copy it in whole or in part to use in your own book. In doing so, you do agree to the terms of the GNU Free Documentation License.

Fork and Translate

One of the most important things you could help with, regardless of computer skill, is providing accurate translations of the content of this book. For right now, the best way to do this is to create a fork of this repository and send me an issue whenever a chapter is translated. Then, a branch will be created for your language which will periodically be updated with the content of your fork.

Donate

If you want to give some money to help with this project, you can do so via Bitcoin.

12r5qD85GMSkBMj7KYDW3BDw89ZRCWWj5E