gpt4 book ai didi

java - 仅从 Android O (--min-api 26) 开始支持 MethodHandle.invoke 和 MethodHandle.invokeExact

转载 作者:行者123 更新时间:2023-12-01 19:05:02 25 4
gpt4 key购买 nike

我正在 Android 中开发一个应用程序,我想在其中使用热敏打印机打印收据上的图像。

为了完成此任务,我在我的应用程序中添加了 escpos-coffee 包。

打印正在使用的图像导入java.imageio.BufferedImage,使用ImageIO.read(file)方法读取图像,这两个类都位于rt.jar库中我已经在项目中外部添加了它。

但是当我尝试构建它时,它出现错误:

Error: MethodHandle.invoke and MethodHandle.invokeExact are only supported starting with Android O (--min-api 26)

在此之前,我的 sdk 版本已更改,然后将 min sdk 更改为 5.1 并(目标和编译 skd 版本为 7.0),然后它开始抛出。

enter image description here

enter image description here

enter image description here

任何详细的帮助将不胜感激。

谢谢。

最佳答案

您需要使用 SNAPSHOT 版本 com.github.anastaciocintra:escpos-coffee:4.0.0-SNAPSHOT

(快照尚未...)

然后,实现 CoffeImage 接口(interface):(CoffeeImageAndroidImpl.java)

import android.graphics.Bitmap;

import com.github.anastaciocintra.escpos.image.CoffeeImage;

public class CoffeeImageAndroidImpl implements CoffeeImage {
private Bitmap bitmap;

public CoffeeImageAndroidImpl(Bitmap bitmap) {
this.bitmap = bitmap;
}


@Override
public int getWidth() {
return bitmap.getWidth();
}

@Override
public int getHeight() {
return bitmap.getHeight();
}

@Override
public CoffeeImage getSubimage(int x, int y, int w, int h) {
return new CoffeeImageAndroidImpl(bitmap.createBitmap(this.bitmap,x,y,w,h));
}

@Override
public int getRGB(int x, int y) {
return bitmap.getPixel(x, y);
}
}

并且...使用如下图像进行打印:

...

BitmapFactory.Options options = new BitmapFactory.Options();
options.inScaled = false;

Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.dog, options);
RasterBitImageWrapper imageWrapper = new RasterBitImageWrapper();
escpos.writeLF("BitonalOrderedDither()");
// using ordered dither for dithering algorithm with default values
Bitonal algorithm = new BitonalOrderedDither();
EscPosImage escposImage = new EscPosImage(new CoffeeImageAndroidImpl(bitmap), algorithm);
escpos.write(imageWrapper, escposImage);
escpos.feed(5).cut(EscPos.CutMode.FULL);



...

了解更多信息并获取 github 示例:https://github.com/anastaciocintra/escpos-coffee/issues/9#issuecomment-541343942

关于java - 仅从 Android O (--min-api 26) 开始支持 MethodHandle.invoke 和 MethodHandle.invokeExact,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59576770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com