无法解析符号KITKAT无法解析方法getAllocationByteCount()

时间:2013-12-04 09:07:02

标签: android

我正在尝试运行“BitmapFun”官方示例,但收到以下错误:

1)无法解析符号KITKAT 2)无法解析方法getAllocationByteCount()

任何帮助?

我的AndroidManifest.xml:

<uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="19" />

这是代码:

 @TargetApi(VERSION_CODES.KITKAT)
public static int getBitmapSize(BitmapDrawable value) {
    Bitmap bitmap = value.getBitmap();

    // From KitKat onward use getAllocationByteCount() as allocated bytes can potentially be
    // larger than bitmap byte count.
    if (Utils.hasKitKat()) {
        return bitmap.getAllocationByteCount();
    }

    if (Utils.hasHoneycombMR1()) {
        return bitmap.getByteCount();
    }

    // Pre HC-MR1
    return bitmap.getRowBytes() * bitmap.getHeight();
}

2 个答案:

答案 0 :(得分:19)

您需要将构建SDK版本设置为19(4.4)或更高版本,以便在编译时提供API级别19符号。

首先,如果您还没有API 19,请使用SDK Manager下载API。

然后,将项目配置为使用API​​ 19:

  • 在Android Studio中:文件 - &gt;项目结构 - &gt;常规设置 - &gt;项目SDK。

  • 在Eclipse ADT中:项目属性 - &gt; Android - &gt;项目构建目标

答案 1 :(得分:2)

方法bitmap.getAllocationByteCount()是在API级别19中引入的。
如果你的项目构建目标小于API 19,它将给出错误。

试试这个......

1)选择项目根文件夹并右键单击

2)转到属性 - &gt;机器人

3)选择API 19作为项目构建目标并清理项目