https://github.com/Curzibn/Luban
在使用鲁班压缩工具的时候按照文档正常导入后
implementation 'top.zibin:Luban:1.1.5'
然后调用方法
Luban.with(this) .load(photos) .ignoreBy(100) .setTargetDir(getPath()) .filter(new CompressionPredicate() { @Override public boolean apply(String path) { return !(TextUtils.isEmpty(path) || path.toLowerCase().endsWith(".gif")); } }) .setCompressListener(new OnCompressListener() { @Override public void onStart() { // TODO 压缩开始前调用,可以在方法内启动 loading UI } @Override public void onSuccess(File file) { // TODO 压缩成功后调用,返回压缩后的图片文件 } @Override public void onError(Throwable e) { // TODO 当压缩过程出现问题时调用 } }).launch();
结果出现闪退现象,报错Didn't find class "android.support.media.ExifInterface" on path:
解决方案:
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这个包里,而最新的这个包的使用必须
minSdkVersion=24,坑啊,所以要引入一个别的封装好的ExifInterface这个类
ok