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

Java MethodHandle.invoke和MethodHandle.invokeExact仅从Android O(--min api 26)开始支持,java,android,android-sdk-manager,Java,Android,Android Sdk Manager,我正在用android开发一个应用程序,我想用热敏打印机在Receipt上打印图像 为了完成此任务,我在应用程序中添加了escpos coffee包 要打印它正在使用的图像 import java.imageio.BufferedImage,要读取图像,它使用的是imageio.read(file)方法。这两个类都位于我在项目中外部添加的rt.jar库中 但当我尝试构建它时,它会出错: 错误:MethodHandle.invoke和MethodHandle.invokeExact仅为 支持从An

我正在用android开发一个应用程序,我想用热敏打印机在Receipt上打印图像

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

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

但当我尝试构建它时,它会出错:

错误:MethodHandle.invoke和MethodHandle.invokeExact仅为 支持从Android O开始(-min api 26)

在此之前,我的sdk版本被更改,然后将min sdk更改为5.1,并(target&compile skd version更改为7.0),然后开始抛出

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


谢谢。

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

(快照尚未…)

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

导入android.graphics.Bitmap;
导入com.github.anastaciocintra.escpos.image.CoffeeImage;
公共类CoffeeImageAndroidImpl实现CoffeeImage{
私有位图;
公共咖啡图像和IDIMPL(位图){
this.bitmap=位图;
}
@凌驾
公共int getWidth(){
返回bitmap.getWidth();
}
@凌驾
公共整数getHeight(){
返回bitmap.getHeight();
}
@凌驾
公共咖啡图像getSubimage(整数x、整数y、整数w、整数h){
返回新的CoffeeImageAndroidImpl(bitmap.createBitmap(this.bitmap,x,y,w,h));
}
@凌驾
公共整数getRGB(整数x,整数y){
返回位图.getPixel(x,y);
}
}
而且。。。按如下方式打印图像:

。。。
BitmapFactory.Options=new-BitmapFactory.Options();
options.inScaled=false;
位图Bitmap=BitmapFactory.decodeResource(context.getResources(),R.drawable.dog,options);
RasterBitImageWrapper imageWrapper=新的RasterBitImageWrapper();
escpos.writeLF(“bitonalorderedither()”);
//使用有序抖动对具有默认值的抖动算法进行抖动
Bitonal算法=新的BITONALERDEDITHER();
EscPosImage EscPosImage=新的EscPosImage(新的咖啡图像和IDIMPL(位图),算法);
escpos.write(imageWrapper,escposImage);
escpos.进给(5).切割(escpos.切割模式.满);
...
阅读更多信息并获取github示例,请访问: