使用luban压缩图片,报错 Didn't find class "android.support.media.ExifInterface" on path:

     luban压缩library地址: https://github.com/Curzibn/Luban

我使用的是这个版本   implementation 'top.zibin:Luban:1.1.5' 

使用方法如下:

private <T> void withLs(final List<String> pics) {
    Luban.with(this)
            .load(pics)
            .ignoreBy(100)
            .setTargetDir(getPath())
            .filter(new CompressionPredicate() {
                @Override
                public boolean apply(String path) {
                    return !(TextUtils.isEmpty(path) || path.toLowerCase().endsWith(".gif"));
                }
            })
            .setRenameListener(new OnRenameListener() {
                @Override
                public String rename(String filePath) {
                    try {
                        MessageDigest md = MessageDigest.getInstance("MD5");
                        md.update(filePath.getBytes());
                        return new BigInteger(1, md.digest()).toString(32);
                    } catch (NoSuchAlgorithmException e) {
                        e.printStackTrace();
                    }
                    return "";
                }
            })
            .setCompressListener(new OnCompressListener() {
                @Override
                public void onStart() {
                }

                @Override
                public void onSuccess(File file) {
                    Log.i("get_file_path", file.getAbsolutePath());
                    Log.i("compress_success", "恭喜你,压缩成功了、、、、");
                    // showResult(originPhotos, file);
                }

                @Override
                public void onError(Throwable e) {
                }
            }).launch();
}

报错,以下是错误日志:

     Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.media.ExifInterface" on path: DexPathList[[zip file "/system/framework/com.google.android.maps.jar", zip file "/data/app/com.jky.pad.zhichi-1/base.apk", zip 

 

解决方案:多引入一个库

implementation 'top.zibin:Luban:1.1.5'
implementation "com.android.support:exifinterface:27.1.1"

这是因为android SDK最新的ExifInterface这个已经不在android.support.media.ExifInterface这个包里了,而在android.media.ExifInterface这个包里,而最新的这个包的使用必须

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章