全部产品
云市场
    FAILED_OLDER_SDK

FAILED_OLDER_SDK

更新时间:2017-06-07 13:26:11

因为APK编译是在高版本SDK下编译生成的,但是手机设备是低版本。

具体可以查看AndroidManifest.xml中android:minSdkVersion的值。

而且,随着安卓版本的不断更新,新的API不断提供,有时候高版本的API会在低版本发生crash。

如果minSdkVersion设置过低,在build的时候,会报错(Call requires API level (current min is ))。

为了编译可以通过,可以添加@SuppressLint(“NewApi”)或者@TargeApi($API_LEVEL)注解,但这样只是编译通过,运行时依然会crash。

若要兼容低版本,需要判断运行时的版本,在低版本系统中不调用此方法,同时为了保证功能的完整性,提供低版本功能实现。SDK版本(一个自然数字)可以通过下面的代码确定:

  1. int currentapiVersion = android.os.Build.VERSION.SDK_INT;
  2. if (currentapiVersion >= android.os.Build.VERSION_CODES.FROYO) {
  3. // 使用高版本的API
  4. } else {
  5. // 使用低版本的API
  6. }