首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

android gradle资源排除文件不工作

Android Gradle资源排除文件是一种在构建过程中排除特定资源文件的机制。通过在Gradle构建文件中配置排除规则,可以控制哪些资源文件会被包含在最终的应用程序中。

Android Gradle资源排除文件的工作原理如下:

  1. 配置排除规则:在项目的build.gradle文件中,可以使用android闭包下的aaptOptions来配置资源排除规则。例如,可以使用aaptOptionsexclude属性来指定需要排除的资源文件的路径或通配符。
  2. 构建过程中的资源排除:当执行构建命令时,Gradle会根据配置的排除规则,将指定的资源文件从最终的APK文件中排除掉。这样可以减小应用程序的体积,并提高应用程序的加载速度。

Android Gradle资源排除文件的优势和应用场景如下:

优势:

  • 减小应用程序的体积:通过排除不必要的资源文件,可以减小应用程序的体积,提高用户下载和安装的效率。
  • 提高应用程序的加载速度:减少资源文件的数量可以加快应用程序的启动速度,提升用户体验。

应用场景:

  • 排除不同分辨率的图片资源:可以根据设备的屏幕分辨率,排除不需要的图片资源,减小APK文件的大小。
  • 排除不同语言的字符串资源:对于只支持特定语言的应用程序,可以排除其他语言的字符串资源,减小APK文件的大小。
  • 排除不需要的布局文件:对于特定的设备或功能,可以排除不需要的布局文件,减小APK文件的大小。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云移动开发平台:https://cloud.tencent.com/product/mmp
  • 腾讯云云服务器CVM:https://cloud.tencent.com/product/cvm
  • 腾讯云对象存储COS:https://cloud.tencent.com/product/cos
  • 腾讯云人工智能AI:https://cloud.tencent.com/product/ai
  • 腾讯云区块链服务:https://cloud.tencent.com/product/tbaas
  • 腾讯云音视频处理:https://cloud.tencent.com/product/mps
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Gradle for Android 系列:初识 Gradle 文件

我们用 Android Studio 新创建一个项目时,会自动生成 3 个 Gradle 文件: 接下来介绍这三个文件的作用。...主目录下的 build.gradle 文件是最顶层的构建文件,这里配置所有模块通用的配置信息。...在逐渐加深对 Gradle 的了解后,我们将尝试自己写个 Gradle 插件。 android 在声明了 android 插件后,我们就可以使用 android 插件提供的内容进行构建配置。...但是当我们想要同时安装一个应用的不同的版本,比如一种测试一种生产,这时,就需要修改 package name 了,但是资源代码和 R 文件要求使用的包名不能改变,否则你的所有源文件都会随着构建版本而改变...总结 这篇文章概览了一个 Android 项目中的 Gradle 文件作用及内容,引申出许多细节,比如 自定义构建、依赖管理、多种类型构建的配置等等。接下来我们将深入学习这些内容。

86461

Android Gradle 插件】Gradle 构建机制 ① ( 空白工程 Gradle 构建文件 | IntelliJ IDEA 工程构建文件 | Android Studio 工程构建文件 )

文章目录 一、空白工程中的 Gradle 构建相关文件 二、IntelliJ IDEA 中的 Gradle 构建相关文件 三、Android Studio 中的 Gradle 构建相关文件 Gradle...构建工具 的本质是 Java 应用程序 , 是运行在 Java 虚拟机 上的 ; 在空白的目录中 执行该 Gradle 构建工具 , 可以 生成一系列的构建文件 ; 一、空白工程中的 Gradle 构建相关文件...---- 参考 【Android Gradle 插件】Gradle 基础配置 ② ( Gradle 空白项目构建示例演示 ) 【Android Gradle 插件】Gradle 基础配置 ③ ( 生成...目录 , settings.gradle 配置文件 ; 三、Android Studio 中的 Gradle 构建相关文件 ---- 在 Android Studio 中创建一个 Android 工程...工程的基础上 , 增加了 app 模块目录 , .gitignore 版本控制忽略文件配置 , gradle.properties 配置文件 , local.properties 配置文件 ;

55920

Android Gradle 插件】Gradle 依赖管理 ⑦ ( dependencies 传递依赖设置 | transitive 关闭依赖传递配置 | exclude 排除子依赖配置 )

文章目录 一、dependencies 依赖传递层级 二、transitive 关闭依赖传递配置 三、exclude 排除子依赖配置 Android Plugin DSL Reference 参考文档...增加一个闭包 , 使用逗号隔开 , 在闭包中配置 transitive false 选项 , 即不解析该依赖的子依赖 ; 进行了上述设置后 , 调用 fresco 函数库肯定会出现问题 ; 三、exclude 排除子依赖配置...---- 设置 exclude 属性 , 可以排除依赖库的某个子依赖 , 并且在外部进行依赖 , 可以有效解决依赖库冲突问题 ; dependencies { implementation 'com.facebook.fresco...:fresco:0.14.0', { transitive true // 排除 com.android.support:support-core-utils:24.2.1 子依赖库 exclude...(group:'com.android.support', module:'support-core-utils') } // 外部单独添加被排除的 com.android.support:support-core-utils

81020

Android Gradle 插件】Android Gradle 工程结构简介 ( Gradle 默认输出目录 | Gradle 配置目录 | gradlew 可执行文件 )

文章目录 一、Android Gradle 工程结构简介 1、Gradle 默认输出目录 2、Gradle 配置目录 3、gradle.properties 配置文件 4、gradlew 或 gradlew.bat...可执行文件 5、local.properties 配置文件 6、settings.gradle 配置文件 Android Plugin DSL Reference 参考文档 : https://google.github.io.../android-gradle-dsl/2.3/ 一、Android Gradle 工程结构简介 ---- 1、Gradle 默认输出目录 Android Studio 工程中 , 可以管理多个 Module...版本都放在这个目录 ; 下载完的 Gradle 版本 , 打开后有如下 4 个文件 ; 3、gradle.properties 配置文件 gradle.properties 配置文件 , 执行..., Android Gradle 插件会读取该配置文件 , 在该文件中 , 可以配置 SDK 和 NDK 目录 ; 如 : org.gradle.jvmargs=-Xmx2048m 用于设置编译时虚拟机内存大小

41130

Android Gradle 插件】Android 依赖管理 ① ( 依赖库匹配 | 依赖库查找顺序及路径 | Gradle 资源库 )

文章目录 一、依赖库匹配 二、依赖库查找顺序及路径 三、Gradle 资源库 一、依赖库匹配 ---- 依赖库匹配 : 依赖库由三部分组成 依赖库分组 依赖库名称 依赖库版本号 只有三者都对上 , 依赖库才能匹配上...1.3.1' } 依赖库分组为 androidx.appcompat , 依赖库名称为 appcompat , 依赖库版本号为 1.3.1 , 三者由冒号隔开 ; 二、依赖库查找顺序及路径 ---- Android...依赖库查找路径 : 首先 , 查找 本地的 Gradle 缓存依赖库 , 如果找到则直接使用该依赖库 , 进行 Gradle 构建 ; 本地依赖库的缓存路径为 " C:\Users\用户名.gradle...构建过程中依赖管理如下 : 三、Gradle 资源库 ---- Gradle 构建过程中 , 存储依赖库的地方称为 Gradle 资源库 , 有两种形式 : 本地库 : 一般是 " C:\Users..., 则将其 缓存到本地库中 , 之后再次构建时 , 就不需要从远程库中下载该依赖库了 ; 定位依赖库时 , 根据 依赖库分组 , 依赖库名称 , 依赖库版本号 , 在 Gradle 资源库中定位依赖库

1.1K10

Android Gradle 插件】Gradle 映射文件 ( settings.gradle 映射为 Settings 类 | build.gradle 映射为 Project 类 )

文章目录 一、settings.gradle 映射为 Settings 类 二、build.gradle 映射为 Project 类 Android Plugin DSL Reference 参考文档...: https://google.github.io/android-gradle-dsl/2.3/ 一、settings.gradle 映射为 Settings 类 ---- 根目录下的 settings.gradle...* 请注意,这些路径不是文件路径,而是指定新项目在项目层次结构中的位置。 * 因此,提供的路径必须使用“:”字符作为分隔符(而不是“/”)。...bar” * // 通过将“:”替换为“/”来推断目录 * include 'foo:bar' * * // 包括一个项目,其项目目录与逻辑项目路径匹配...include 'baz' * project(':baz').projectDir = file('foo/baz') * * // 包括许多其项目目录与逻辑项目路径匹配的项目

52620

Android Gradle 插件】Gradle 基础配置 ③ ( 生成 Gradle Wrapper 配置 | 分析生成的 gradle-wrapper.properties 配置文件 )

文章目录 一、生成 Gradle Wrapper 配置 二、分析生成的 gradle-wrapper.properties 配置文件 一、生成 Gradle Wrapper 配置 ---- 在 上一篇博客...【Android Gradle 插件】Gradle 空白项目构建示例演示 基础上 , 已经创建了 build.gradle 构建脚本 , 并且执行了 gradle 命令 , 输出了构建脚本中打印的 Hello...可执行文件 , 其中 gradlew.bat 可执行文件 是在 Windows 系统 中执行的 , gradlew 可执行文件 是在 Linux / Mac 系统 中执行的 ; 命令行输出内容如下...=wrapper/dists 在 Android 中 , 经常需要修改 gradle-wrapper.properties 配置文件 , 用于匹配 Android Gradle 插件版本 与 Gradle...版本 的对应关系 ; Gradle 版本 与 Gradle 插件版本 对应关系 : https://developer.android.google.cn/studio/releases/gradle-plugin

1.4K30

Android Gradle 插件】Gradle 依赖管理 ⑧ ( implementation fileTree 引入jar文件依赖 | implementation files 引入文件依赖 )

文章目录 一、implementation fileTree 引入目录下的文件作为依赖 二、implementation files 引入目录下的文件作为依赖 Android Plugin DSL Reference.../build/dependencies 一、implementation fileTree 引入目录下的文件作为依赖 ---- org.gradle.api.Project 配置 ( build.gradle...配置中 , 使用 implementation fileTree 引入文件树 , 将当前目录中 libs 目录下的所有 .jar 后缀的文件添加到依赖中 ; dependencies { implementation...二、implementation files 引入目录下的文件作为依赖 ---- org.gradle.api.Project 配置 ( build.gradle 根配置 ) 文档 : https:/...files 引入多个文件 , 将这些文件添加到依赖中 ; dependencies { implementation files('libs/ffmpeg.jar', 'libs/location.jar

1.3K10

Android中的build.gradle文件深入讲解

具体来说,一个apk文件的构建包含以下Task:Java源码编译、资源文件编译、Lint检查、打包以生成最终的apk文件等等。 2.插件 插件的核心工作有两个:一是定义Task;而是执行Task。...也就是说,这个插件负责定义并执行Java源码编译、资源文件编译、打包等一系列Task。...实际上”com.android.application”整个插件中定义了如下4个顶级任务: assemble: 构建项目的输出(apk) check: 进行校验工作 build: 执行assemble...3.Gradle配置文件 我们在Android Studio中新建一个工程,可以得到如下的工程结构图: 上面我们说过,Android Studio中的一个Module即为Gradle中的一个Project...5.自动移除不再使用的资源 只需进行如下配置: android { ... } buildTypes { release { ... shrinkResources true ... } } } 6.忽略

2.8K20

Android更新资源文件浅思考

前言 最近在看 《深入探索Android热修复技术原理7.3Q.pdf》 时,遇到一个之前没有注意过的问题:关于资源修更新的Android的版本兼容?...这个问题的解释网上答案比较少,在滴滴的插件化框架相关文章 VirtualAPK 资源篇 和 阿里云移动热修复(Sophix) 相关文章 Android热修复升级探索——资源更新之新思路 中 都有一句概括性质的话语...因为在Android KK及以下版本,addAssetPath只是把补丁包的路径添加到了mAssetPath中,而真正解析的资源包的逻辑是在app第一次执行AssetManager::getResTable...FTSC 为了比较完整的对前面提出的问题做解答,下边我在老罗写的 Android应用程序资源管理器(Asset Manager)的创建过程分析 这篇文章的基础上分析。...结论 以下结论需要大家结合文章来看,因为涉及到的 Android 不同版本的代码: Android中进行资源管理的是 AssetManager; 资源由C层 AssetManager 的 ResTable

1.1K20

Android Gradle实用技巧(四) | 自动瘦身APK文件

针对以上情况,Android Gradle为我们提供了在构建打包时自动清理掉未使用资源的方法,这个就是Resource Shrinking。...因为是在这个过程中(构建时),Android Gradle构建系统会拿到所有的资源,不管是你项目自己的,还是引用的第三方的,它都一视同仁的处理,所以这个时机点可以控制哪些资源可以被打包,所以能解决第三方不使用的资源的问题...,但是有时候会误删,为什么呢,因为我们在代码编写的时候可能会使用反射去引用资源文件,尤其很多你引用的第三方库会这么做,这时候Android Gradle就区分不出来了,可能会误认为这些资源没有被使用。...针对这中情况,Android Gradle为我们提供了keep方法来让我们配置哪些资源不被清理。...此外,对于res/raw/keep.xml这个文件我们不用担心,Android Gradle构建系统最终打包的时候会清理它,不会把它打包进Apk中的,除非你在代码中通过R.raw.keep引用了它。

84020

Android Gradle 插件】Android 依赖管理 ⑥ ( 依赖冲突处理 | transitive 依赖传递设置 | exclude 依赖排除设置 | force 强制指定依赖库 )

文章目录 一、查询 Android 依赖库的配置 二、通过 ModuleDependency#transitive 依赖传递设置 三、通过 ModuleDependency#exclude 设置排除子依赖库...四、通过 configuration 配置排除子依赖库 五、force 强制指定依赖库 一、查询 Android 依赖库的配置 ---- 在遇到 依赖冲突 时 , 如果要 排查某个依赖的子库 时 ,...就需要对该依赖库非常熟悉 , 最好是找出该依赖库位置 , 并 分析该依赖库的 Maven 配置文件 , 即 pom.xml 配置文件 ; 下面以 com.android.support:appcompat-v7...依赖库 为例进行演示 , 这个库经常会造成依赖冲突 ; Android 官方提供的依赖库 , 都放在 SDK 的 extras 目录 下 , 如下图所示 : 其中 Android Support...-23.3.0.pom 依赖配置文件 , 发现该 pom 文件中有配置 com.android.support:support-v4 依赖 , pom 配置文件是 Maven 的依赖配置 , 其格式是

2.6K31
领券