使用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這個包裏,而最新的這個包的使用必須

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