我正在尝试在 imageview 中加载图像,但是对于某些图像,当我尝试从图像路径获取位图时,我的应用程序崩溃了。
这是我的代码:
public Bitmap getBitmap(String imagePath){
Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
return bitmap;
}
日志:
Process: kgs.com.librarytest2, PID: 17587
java.lang.NoClassDefFoundError: Failed resolution of:
Ljavax/imageio/ImageIO;
at it.lamba.utils.KImageCheck.analyzeImage(KImageCheck.kt:26)
at it.lamba.utils.KImageCheck.getImageData(KImageCheck.kt:53)
at com.kitegamesstudio.kgspicker.ui.PickerFragment.handleSelection(PickerFragment.kt:524)at com.kitegamesstudio.kgspicker.ui.PickerFragment$getPagerAdapter$selectionDe legate$1.onItemSelected(PickerFragment.kt:494) at com.kitegamesstudio.kgspicker.ui.PagerFragment$selectionDelegate$1.onItemS lected(PagerFragment.kt:35) at com.kitegamesstudio.kgspicker.ui.RecyclerViewAdapter$ImageItemVieHolder$bi d$$inlined$with$lambda$1.onClick(RecyclerViewAdapter.kt:125) at android.view.View.performClick(View.java:6392)
最佳答案
请注意,您的代码(getBitmap()
方法)与您的堆栈跟踪无关,堆栈跟踪不涉及此方法。
您似乎在使用 this library .它专为在桌面或服务器上与 Java SE 一起使用而设计。它使用 javax.imageio.ImageIO
,它不是 Android SDK 的一部分。您需要从您的项目中删除该库。
关于android - 如何以编程方式检查图像(PNG、JPEG)在 Android 中是否已损坏或不受支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55990118/