使用min-sdk 18的库在应用程序中使用min-sdk 14

时间:2014-05-12 10:31:29

标签: android ibeacon

我正在开发Android应用程序,其中包括使用iBeacons。我正在使用this iBeacon库,使用min-sdk 18.

我正在尝试做的是将我的应用中的min-sdk设置为14,但后来我得到了:

Error:Main manifest has <uses-sdk android:minSdkVersion='17'> but library uses minSdkVersion='18'

我知道我不能在低于18的sdk上使用iBeacons,但我希望能够在具有较低sdk的设备上安装此应用程序 - 没有iBeacons功能。

2 个答案:

答案 0 :(得分:3)

如果您使用Android iBeacon Library,则不需要minSDK,即使在Android 4.3之前的设备上也可以安全地调用大多数方法,尽管在较旧的操作系统上这样做只会在LogCat中发出警告。见这里:http://developer.radiusnetworks.com/ibeacon/android/backward-compatibility.html

为此,请确保您使用的是Android iBeacon Library 0.7.6或更高版本或Pro版Android Proximity Library 1.1.2或更高版本。

通常,您需要检查代码中的功能,以便您可以使用下面的代码正确地向用户发送消息或进行其他功能安排。但API并不要求你这样做。

public String getIncompatibilityReason(Context context) {
    if (android.os.Build.VERSION.SDK_INT < 18) {
        return "requires Android 4.3";
    }
    if (!context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) {
        return "requires Bluetooth LE";
    }
    return null;
}   

答案 1 :(得分:0)

将库的minSdk属性设置为14并在使用库中的任何内容之前检查SDK版本。