更新记录
1.2(2020-12-13)
1、修复了Android 图片压缩问题
1.0(2020-07-01)
无
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 11.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:9 - 14 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
图片压缩工具,支持png,jpg图片的压缩,同时保证图片不失真
技术介绍(<!--png压缩这一块,我查询了很多资料,才找到解决方法;网上大部分都介绍的是jpg的压缩-->)
iOS
jpg采用了二分法进行图片的压缩;
png采用了位图缩放来进行图片的压缩;
android
jpg:引用了第三方的框架 com.zxy.android:tiny;
png 同样是采用的是位图缩放进行图片的压缩;
API接口的使用(具体的请参考我提供的demo)
let compressImgTool=uni.requireNativePlugin("CL-CompressImg");
//path:为图片的绝对路径;(从相册中选择的图片,返回的是相对路径,因此要进行转换)
//toByte:图片压缩到最大byte,单位为kb;压缩的大小有一定的误差,因为压缩是按照比例来压缩的,无法控制的很精确
compressImgTool.imageCompressToByteOptions({path:path,toByte:300},res=>{
console.log(res);
const{code,msg}=res;
if(code==1)
{
//res.filePath;//该路径为绝对路径,要进行转换成相对路径
let compressPath=plus.io.convertAbsoluteFileSystem(res.filePath);
//如果想将压缩后的图片进行上传到服务器,需要用到相对路径。
}
else{
//code为0表示压缩失败,
}
})