android兼容性问题

android兼容性问题,android,Android,我当前的项目是为API级别4创建的,我在那里使用接口的自定义实现。当我在更高的API级别上运行项目时,我会得到一个错误:java.lang.AbstractMethodError:AbstractMethodNotImplemented。这是因为自从API级别5以来,这个接口增加了两个额外的方法。所以,任何android界面都可以在未来的API级别进行修改,任何使用修改后的界面的应用程序都会崩溃!?如何解决这个问题?我有两个解决方案,哪一个更好 使用代理这不是一个问题,但我不想使我的代码复杂化

我当前的项目是为API级别4创建的,我在那里使用接口的自定义实现。当我在更高的API级别上运行项目时,我会得到一个错误:java.lang.AbstractMethodError:AbstractMethodNotImplemented。这是因为自从API级别5以来,这个接口增加了两个额外的方法。所以,任何android界面都可以在未来的API级别进行修改,任何使用修改后的界面的应用程序都会崩溃!?如何解决这个问题?我有两个解决方案,哪一个更好

使用代理这不是一个问题,但我不想使我的代码复杂化 在最新的API级别下构建项目,并指示min sdk=4,但如果创建了新的API级别,我将不得不再次重建我的项目?!
尝试检测操作系统版本并通过接口抽象您使用的类。另一个问题包括:


这应该允许您根据当前运行应用程序的设备加载的操作系统版本有选择地加载正确的实现。

我也有一个相同的问题,也是关于Window.Callback的问题,我不知道这个答案如何解决它。回调接口由操作系统中的类直接调用。我无法控制这些类的哪个版本处于活动状态。当然,我可以通过在我的实现中添加新方法来解决眼前的问题,但这只能持续到谷歌决定在未来添加更多方法为止。