我正在尝试运行“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();
}
答案 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作为项目构建目标并清理项目