当前位置: 首页 > 软件库 > 程序开发 > 多媒体处理 >

WebpConvert_Gradle_Plugin

Webp 批量替换图片 gradle 插件
授权协议 MIT
开发语言 Java
所属分类 程序开发、 多媒体处理
软件类型 开源软件
地区 国产
投 递 者 曹沛
操作系统 Android
开源组织
适用人群 未知
 软件概览

webp插件介绍

webp转换插件可批量转换 build时 /build/intermediates/res/${flavorName}/${buildType}目录下的图片为webp格式,打包出的apk就包含webp的图片了。

其搜索目标文件的规则如下

  1. res下以drawable为开头的目录

  2. 后缀为png,jpg的文件

  3. 不包含.9图片

webp插件的运行时机是在 processXXXResource Task前 添加一个名为webpConvertPlugin的 task并执行

局限性

Android 从4.0开始对webp格式的文件都有原生支持,所以如果你apk 的minSdkVersion 是 15以上 你不需要修改任何关于图片使用的java代码。

但请注意,如果你的项目里的jpg图片包含alpha值的设置,转换后的webp图片是不能再4.2.1以下正常运行的。

请参考:http://developer.android.com/guide/appendix/media-formats.html

pic

安装webp命令行工具

  1. homebrew 安装方法:

    装了brew 工具的同学可以用brew install webp

  2. macports 安装方法:

    http://distfiles.macports.org/MacPorts/中寻找对应你系统的最新版MacPorts安装包下载并安装在终端依次运行以下命令

  3. export PATH=$PATH:/opt/local/bin
    sudo port selfupdate
    sudo port install webp

通过在终端键入 cwebp判断是否安装成功

安装遇到问题请参考:https://developers.google.com/speed/webp/docs/precompiled#installing_cwebp_and_dwebp_on_os_x_with_macports

webp插件的使用方法如下:

  1. 在外层的build.gradle文件中(即与settings.gradle同级的文件)添加如下代码

    classpath 'com.mogujie.gradle:webpConvertPlugin:1.1.34'

  2. 在内层build.gradle文件中(即与src同级的文件)添加如下代码

  3. apply plugin: 'webpConvert'
    webpinfo {
        //是否在debug时跳过webp转换
        skipDebug = true
        //是否显示log
        isShowLog = false
    }
  4. 在与src同级的目录下添加名为webp_white_list.txt的文件 此文件提供白名单功能 可以设置哪些文件不会被转换为webp文件,配置时,一个文件名为一行,如

  5. bill_footer_sitepro_arrow.png
    cart_checkbox_false.png

好了,万事具备,只要你clean后  assemble一发,png,jpg就替换成功了,打包出的apk就包含webp的图片了.so easy

gradle clean
gradle assembleDebug
  • Gradle Plugin android studio 的 Tools -- AGP Upgrade Assistant -- 查看最新版本 点Run selected steps升级 Gradle Plugin (插件版本)   Gradle version(所需Gradle版本) 1.0.0 - 1.1.3            2.2.1 - 2.3 1.2.0 - 1.3.1      

  • 这个是用于提交代码到自建仓库的,不需要可以删除掉,会导致AS匹配不上新得grade版本,会引起如下一些问题: 1.Failed to notify task execution graph listener. 2.Unable to load class 'org.gradle.api.artifacts.maven.MavenDeployer' 删除掉就可以了。

  • as 导入开源项目后,同步gradle报如下错误: 17:26:25 Gradle sync started 17:26:28 Gradle sync failed: No such property: GROUP for class: org.gradle.api.publication.maven.internal.deployer.DefaultGroovyMavenDeployer    

  • 一般原因是因为gradle和kotlin的版本不匹配  这个版本是指的项目跟目录下的build.gradle  这是我项目的配置  这两个版本要对应 dependencies { classpath 'com.android.tools.build:gradle:3.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:

  • 准备工作   本文就Android Gradle Plugin的源码做简要分析,其中Android Gradle Plugin版本为2.3.0,Gradle版本为3.3。我们通过Gradle的依赖管理来查阅源码,所以在dependencies中引入com.android.tools.build:gradle:2.3.0依赖后,就可以在工程的External Libraries下找到Android

  • GradlePlugin 和Gradle的版本的需求   例如这里如果plugin是2.3.0的那么Gradle 就至少是3.3的 参考官方网站,选择合适的https://developer.android.com/studio/releases/gradle-plugin.html#updating-plugin Plugin version Required Gradle version 1.

  • 可以参考谷歌官方文档:  https://developer.android.google.cn/studio/releases/gradle-plugin.html# 有的时候在github上下载的demo会出现无法找到gradle中的某个方法,或者提示gradle插件的某个版本找不到的问题. 这类问题一般都是因为gradle 的版本,与gradle插件的版本(android plugin fo

  • Build Setup Plugin The Gradle Build Setup plugin can be used to bootstrap the process of creating a new Gradle build. It supports creating brand new projects of different types as well as converting e

  • 当您更新 Android Studio 时,您可能会收到一个提示,要求您同时将 Gradle 更新到最新的可用版本。您可以选择接受更新或根据项目的构建要求手动指定版本。 下表列出了每个版本的 Android Gradle 插件所需的 Gradle 版本。为了获得最佳性能,您应该使用 Gradle 和插件的最新版本。 插件版本 所需的 Gradle 版本 1.0.0 - 1.1.3 2.2.1 -

  • apply plugin: 'war' dependencies { compile fileTree(dir: rootProject.projectDir.absolutePath + '/lib', include: '**/*.jar', exclude:['dev-only/*.jar','jetty-ext/*.jar']) providedCompile fileT

  • 安装Androidstudio可能大家都可能遇到 “Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.3.2/gradle-3”,或者‘Unable to resolve dependency for ':app@debug/compileClasspath':’的问题,网

  • https://jcenter.bintray.com/com/android/tools/build/gradle/

  • 一、每个版本的Gradle plugin所需的Gradle版本: 为了能有更好的体验,我们应该尽可能使用最新版的gradle和gradle plugin。 更新Gradle点这里 Plugin version Required Gradle version 1.0.0 - 1.1.3 2.2.1 - 2.3 1.2.0 - 1.3.1 2.2.1 - 2.9 1.5.0 2.2.1 - 2.13

  • 本来项目没什么问题,隔一段时间后重新启动,出现了这个问题 https://repo.jfrog.org/artifactory/libs-release-bintray/com/android/tools/build/manifest-merger/26.0.0/manifest-merger-26.0.0.jar?referrer 然后我怀疑是buildToolsVersion的问题,因为我设置

 相关资料
  • 本文向大家介绍Node.js读写文件之批量替换图片的实现方法,包括了Node.js读写文件之批量替换图片的实现方法的使用技巧和注意事项,需要的朋友参考一下 问题:文件夹A中有大量图片文件,需要用另外一个图片替换掉A中图片,但是命名保持不变。 手工的做法如下: 1)浏览器打开图片->2)另存为->3)目标文件夹->4)找到一个图片->5)替换->6)确定 然后,重复步骤2)和之后的步骤。不小心会漏掉

  • 本文向大家介绍MySQL批量替换HTML标签,包括了MySQL批量替换HTML标签的使用技巧和注意事项,需要的朋友参考一下 1 前因 前段时间维护的一个WordPress小网站被黑,分析源码发现内容中多出了一段JavaScript代码: 访问页面的时候,会跳转到黑客的广告页面: 经过追踪,最后发现是在MySQL中被注入了以上代码,所以需要在wp_posts表中把这些内容都替换掉 (当然后来加强了这

  • 本文向大家介绍jquery图片切换插件,包括了jquery图片切换插件的使用技巧和注意事项,需要的朋友参考一下 以上就是本文给大家分享的代码的全部内容了,希望大家能够喜欢

  • 引用脚本的内容: ; NSIS 中自动替换背景图片的例子 ; 需要新版的 nsWindows 插件与头文件 ; 脚本编写: ; X-Star @ ; zhfi @ !addincludedir .\include !addplugindir .\plugins ;替换图片的时间间隔(ms) !define TimeForChange 3000 ;图片数量范围 !define MinBg

  • 问题内容: 这是我在阅读有关jpa批量插入的几个主题之后创建的简单示例,我有2个持久对象User和Site。一个用户可以拥有多个站点,因此我们在这里有一对多的关系。假设我要创建用户并将多个站点创建/链接到用户帐户。考虑到我愿意为Site对象使用批量插入,代码如下所示。 但是,当我运行此代码时(我将hibernate方式用作jpa实现提供程序),我看到以下sql输出: 所以,我的意思是“真实的”批量

  • 本文向大家介绍python3图片文件批量重命名处理,包括了python3图片文件批量重命名处理的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python3图片文件批量重命名的具体代码,供大家参考,具体内容如下 获取目录下png图: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍python实现图片文件批量重命名,包括了python实现图片文件批量重命名的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python实现文件批量重命名的具体代码,供大家参考,具体内容如下 代码: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 我正在写一个数据挖掘程序,可以批量插入用户数据。 当前SQL只是一个普通的批量插入: 如果发生冲突,如何进行更新?我试过: 但它抛出