Android App Porting Guide
Android is fast-paced platform, and has been on the market for a while now. Android devices also come in various shapes, form factors, for various uses and intended audience. This means that Android ecosystem is highly fragmented. Android platform itself has good means to avoid and deal with fragmentation, but not all application developers know and use those features, which leads to all of the following and more:
- Old applications developed/tested on old Android versions don't work well on newer OS versions.
- Newly written apps don't work on devices with older Anroid versions.
- Some apps don't work properly or at all on particular devices or set of devices (based on their features).
- Particular features of some apps misbehave or cause force-closures on some devices due to presumption of available environment (like availability of Market/Play app) and lack of proper error handling.
Open Source allows to remedy most of the issues above, and F-Droid strives to provide well-behaving and usable application for as many devices as possible. This page collects documentation and fixes for common problems seen in the application. Ideally, all the fixes should be submitted to the upstream projects. Sometimes, upstream authors don't respond in timely manner, and it may be acceptable to fix the issues using patches applied in F-Droid build recipes.