Android - Conditional Access Jar

时间:2013-11-14 22:39:53

标签: java android jar

我有一个只能通过某一行电话访问的JAR。

有没有办法有条件地调用引用该JAR的代码,这样当其他手机没有那个时我就不会出现链接错误?

E.G。

if(JARisAvailable)
    functionFromJAR();
else
    functionNotFromJAR();

1 个答案:

答案 0 :(得分:0)

你不是指JAR。 JAR都在您的APK中提供。您指的是基于设备所具有的特定API级别在框架内可用或不可用的包。

当然,您可以这样做,但您需要以特定方式执行此操作。您需要将使用可能无法使用的API的所有代码放入单独的类(或类)中。您需要检查设备是否支持您要使用的API。如果是,则可以创建单独的类(或类)的实例并使用它们。

这里的秘密是虚拟机(VM)验证类(即:检查它们使用的所有类以及它们调用的所有方法是否存在等)仅在加载类时,并且VM仅加载第一次使用时的类(新实例创建或引用的静态成员或调用的静态方法)。只要您避免加载使用不存在的类或方法的类,就不会有问题。

有关示例,请参阅http://android-developers.blogspot.de/2010/07/how-to-have-your-cupcake-and-eat-it-too.html