使用RxImagePicker的java.lang.NoClassDefFoundError

时间:2016-06-02 13:05:56

标签: java android android-studio

我正在尝试使用RxImagePicker(github link)在Android中选择或拍照。它在某些设备上运行良好,但是当我尝试三星DUOS(API 16)时,它会崩溃。堆栈跟踪:

RxImagePicker.with(this).requestImage(source)
                .flatMap(uri -> RxImageConverters.uriToBitmap(getApplicationContext(), uri))
                .subscribe(result -> {
                    imageView.setImageBitmap(result);
                    ByteArrayOutputStream bos = new ByteArrayOutputStream();
                    result.compress(Bitmap.CompressFormat.JPEG, 100, bos);
                    byte[] bitmapData = bos.toByteArray();
                    encodedPhoto = Base64.encodeToString(bitmapData, Base64.DEFAULT);
                }, throwable -> {
                    showDialogWithoutFinish("Ocorreu um erro ao carregar a imagem, por favor tente novamente");
                });

我的代码:

$_SESSION

1 个答案:

答案 0 :(得分:0)

NoClassDefFound错误几乎总是意味着你在类路径中缺少一个jar文件。有趣的是,这适用于某些机器,而不适用于其他机器。我可以想到两个明显的可能性:

  1. 这是仅在某些设备上访问的代码。在运行代码之前,您可能有一个周围的条件语句来检查某些属性。
  2. 这是兼容性问题。您将需要下载适用于DUOS的另一个版本的jar,或者DUOS不支持RXImagePicker。如果是后者,您可能需要使此步骤成为条件并使用与DUOS兼容的其他驱动程序。