We always face the problem of compatible problem on Mobile Development. include the screen resolution, hardware spec, API behavior, memory size .... etc. that trigger me to find the answer on the most popular platform - Android.
1. Client
1.1 Filter on Market
http://pads162.cs.nthu.edu.tw/guide/appendix/market-filters.html
You can provide the limitation of resolution , hardware and sdk version ... etc
1.2 Backward Compatibility for Applications
http://developer.android.com/resources/articles/backward-compatibility.html
Use the java technical like Reflection or Wrapper
2. Standard on Device
Android make a document about the hardware ability and the feature in each version
http://source.android.com/compatibility/downloads.html
and also provide the tool like TCK
http://source.android.com/compatibility/cts-intro.html
the scope is show as follows:
Area | Description |
---|---|
Signature tests | For each Android release, there are XML files describing the signatures of all public APIs contained in the release. The CTS contains a utility to check those API signatures against the APIs available on the device. The results from signature checking are recorded in the test result XML file. |
Platform API Tests | Test the platform (core libraries and Android Application Framework) APIs as documented in the SDK Class Index to ensure API correctness, including correct class, attribute and method signatures, correct method behavior, and negative tests to ensure expected behavior for incorrect parameter handling. |
Dalvik VM Tests | The tests focus on testing the Dalvik VM |
Platform Data Model | The CTS tests the core platform data model as exposed to application developers through content providers, as documented in the SDK android.providerpackage: contacts, browser, settings, etc. |
Platform Intents | The CTS tests the core platform intents, as documented in the SDK Available Intents. |
Platform Permissions | The CTS tests the core platform permissions, as documented in the SDK Available Permissions. |
Platform Resources | The CTS tests for correct handling of the core platform resource types, as documented in the SDK Available Resource Types. This includes tests for: simple values, drawables, nine-patch, animations, layouts, styles and themes, and loading alternate resources. |
3. Other
3.1 The Compatible problem on Android 3.x
Android 3.0 should compatible with Android 2.x and 1.x. the solution is Android Compatibility Package (it's a jar including all of extension on Android 3.x )
http://blog.chinatimes.com/tomsun/archive/2011/03/08/621087.html