A problem occurs: The software must support a feature, but the feature interface is supported by Android2.3 and later versions, and our software must support version 1.6 and later. Through negotiation with colleagues in the product department, this feature can be supported only in Android2.3 and later versions, but not in earlier versions.
To achieve the above requirements, you need to reference the interface of this feature in the code, but because there are only more than 2.3, and we do not want to maintain two sets of code, therefore, it may be caused by specifying the lowest version number in the manifest file. After several attempts, the problem was successfully solved:
Encapsulate the code that needs to call interfaces 2.3 and above into a jar package. The jar package can specify the minimum version number, and then reference the jar package in the main project, then reference the code in the jar package in the specified version number. Because the jar package is not used in earlier versions, the ClassLoader does not Load the code in the jar package, so there will be no problems.
From BuleRiver's column