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

如何从android shrinkResources中排除资源?

在Android开发中,shrinkResources是一个用于减小应用体积的功能。它可以在构建过程中自动删除未使用的资源文件,从而减少APK的大小。然而,有时候我们可能需要排除某些资源文件,以确保它们不被删除。下面是一种方法来从android shrinkResources中排除资源:

在项目的build.gradle文件中,找到android闭包,并添加以下代码:

代码语言:txt
复制
android {
    // ...
    buildTypes {
        release {
            // ...
            shrinkResources true
            // ...
            // 排除资源的配置
            resConfig "en", "fr" // 排除英语和法语资源
            exclude "**/file_to_exclude.xml" // 排除指定文件
            // ...
        }
    }
}

上述代码中,我们在release构建类型中启用了shrinkResources功能,并使用resConfig和exclude配置来排除资源。

  • resConfig用于指定要保留的资源配置。在示例中,我们排除了英语和法语资源,这意味着只有其他语言的资源会被保留。
  • exclude用于指定要排除的具体资源文件。在示例中,我们排除了名为file_to_exclude.xml的文件。

通过以上配置,我们可以从android shrinkResources中排除指定的资源文件,确保它们不会被删除。

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

  • 腾讯云移动开发平台:https://cloud.tencent.com/product/mpp
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云区块链(BCBaaS):https://cloud.tencent.com/product/baas
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 浅析Androidbuild.gradle的实用技巧

    / 2.打包设置appname(启动图标类似,res下面的都可以这样使用) android { defaultConfig { //在string.xml不能出现app_name这个字段...,否则生成报错 resValue "string", "app_name", "app名称" } } 3.生成BuildConfig.java字段 在build.gradle android...variant.versionName})(${time.format(nowTime)}).apk" } } } 7.引入第三方库的时候,剔除某些不需要的包或者重复的包 1.直接在configuration中排除...'commons' all*.exclude group: 'org.gradle.test.excludes', module: 'reports' } 2.在具体的某个dependency中排除...我们可以对每个页面的资源都进行具体分类,不只是layout,还有drawable及value,是不是心动了,赶紧照着如下配置试一试吧,别再让资源文件们“混为一潭”了。

    83220

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

    因为是在这个过程(构建时),Android Gradle构建系统会拿到所有的资源,不管是你项目自己的,还是引用的第三方的,它都一视同仁的处理,所以这个时机点可以控制哪些资源可以被打包,所以能解决第三方不使用的资源的问题...那么我们如何配置使用呢,看下面的示例,如下Gradle配置来启用Resource Shrinking: android { compileSdkVersion 23 buildToolsVersion...; } 当我们开启了shrinkResources后,打包构建的时候,Android Gradle就会自动的处理未使用的资源,不把他们打包到生成的Apk,我们可以在我们构建输出的日志中看到处理结果,以我们当前的示例代码为例...除了shrinkResources之外,Android Gradle还为我们 提供了一个resConfigs,它属于ProductFlavor的一个方法,可以让我们配置哪些类型的资源才被打包到Apk,...以上自动清理资源只是在打包的时候,不打包到Apk,实际上并没有删除我们工程资源,如果我们在使用的时候发现有大量的无用资源被清理,那么我们自己最好还是把这些资源文件我们的工程删除吧,这样也好维护一些

    89520

    如何Serilog请求日志记录中排除健康检查终结点

    请求日志记录中排除健康检查端点(本文) 作者:依乐祝 译文地址:https://www.cnblogs.com/yilezhu/p/12253361.html 原文地址:https://andrewlock.net...我描述了如何配置Serilog的RequestLogging中间件以向Serilog的请求日志摘要添加附加属性,例如请求主机名或选定的端点名称。...我还展示了如何使用过滤器将MVC或RazorPage特定的属性添加到摘要日志。 在本文中,我将展示如何过滤掉某个特定请求的摘要日志消息。...定制用于Serilog请求日志的日志级别 在上一篇文章,我展示了如何在Serilog请求日志包括所选终结点。...在下一节,我将展示如何在不影响其他请求的情况下识别这些请求。 将自定义日志级别用于健康检查终结点请求 我们需要的是能够在写入摘要日志时识别出健康检查的请求的能力。

    1.3K10

    Springboot如何访问静态资源

    1. application需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboot,应该以什么样的方式去寻找资源。...换句话说,只有静态资源满足什么样的匹配条件,Spring Boot才会处理静态资源请求 比如下面这个配置 作者:每天都懒得减肥 链接:https://www.jianshu.com/p/a9e6edd46e98...问题2:配置访问路径为/soul/后原本可以访问resources下其他文件夹的目录下的静态资源,现在不可以了。...在application.properties文件添加: # 默认值为spring.resources.static-locations=classpath:/META-INF/resources/...由于现在建立的springboot项目,一般会将js、css等静态文件放在static下,而将页面放在templates下,所以配置上只配置了资源目录,第一个配置使用默认的*/ **,具体如下。

    3.9K10

    Android APP 终极瘦身指南

    第3条:开启shrinkResources去除无用资源 在gradle使用shrinkResources去除无用资源,效果非常好。...Android 4.0+开始原生支持,但是不支持包含透明度,直到Android 4.2.1+才支持显示含透明度的webp,使用的时候要特别注意。...这里不排除有极少数设备会Crash,可能和不同的so有一定的关系,请大家务必测试周全后再发布。...详情参考:Android资源混淆工具使用说明 原理介绍:安装包立减1M–微信Android资源混淆打包工具 建议开启7zip,注意白名单的配置,否则会导致有些资源找不到,官方已经发布AndResGuard...指南条例 适用范围 易用性 风险指数 备注 使用一套资源 非极高UI要求的APP 易 无 开启minifyEnabled 全部 易 无 开启shrinkResources 全部 易 无 删除无用的语言资源

    2.7K10

    Didn‘t find class “android.view.x“问题原理剖析及解决

    起因是我们的一款App在debug包时没有问题,但是在release包时就是crash,报错如下: 可以看到问题是Didn‘t find class “android.view.x“,但是实际上我们代码并没有这个类...,由于是release包的问题,所以第一时间想到的是混淆问题,检查了一番后发现与混淆无关,经过上网查询发现有人提到说将build.gradleshrinkResources设置为false即可解决,...shrinkResources 要弄明白问题,首先就要知道shrinkResources如何工作的。...所以当我们将shrinkResources设置为false后,因为不会执行资源压缩,所以问题解决。...总结 通过上面的剖析,我们了解了资源压缩(Resource Shrinking)到底是什么,同时也知道问题所在,所以其实我们可以不将shrinkResources设置为false,而是在项目中新建一个keep.xml

    1.4K30

    Android性能优化系列之apk瘦身

    参数: -include {filename} 给定的文件读取配置参数 -basedirectory {directoryname} 指定基础目录为以后相对的档案名称 -injars...-renamesourcefileattribute {string} 设置源文件给定的字符串常量 开启shrinkResources去除无用资源 在gradle使用shrinkResources...android { buildTypes { release { shrinkResources true } } } 清理无用资源...在build.gradle 里面配置shrinkResources true,在打包的时候会自动清除掉无用的资源,但经过实验发现打出的包并不会,而是会把部分无用资源用更小的东西代替掉。...Android 4.0+开始原生支持,但是不支持包含透明度,直到Android 4.2.1+才支持显示含透明度的webp,使用的时候要特别注意。

    1.1K30

    如何使用AndroidQF快速Android设备获取安全取证信息

    关于AndroidQF AndroidQF,全称为Android快速取证(Android Quick Forensics)工具,这是一款便携式工具,可以帮助广大研究人员快速目标Android设备获取相关的信息安全取证数据...AndroidQF旨在给广大研究人员提供一个简单且可移植的跨平台实用程序,以快速Android设备获取信息安全取证数据。...github.com/botherder/androidqf.git 工具构建 AndroidQF提供了针对Linux、Windows和macOS的可执行程序,如果你想自行下载源码构建,则需要在本地环境安装并配置好...在执行过程的某个时刻,AndroidQF会提示用户进行一些选择操作,而这些提示一定需要用户选择之后工具才会继续进行取证收集。...除此之外,我们还可以考虑让AndroidQF在一个VeraCrypt容器运行。

    7.1K30

    Android 安装包优化】开启资源压缩 ( 资源压缩配置 | 启用严格模式的资源引用检查 | 自定义保留移除资源配置 | 资源压缩效果 )

    构建脚本的 " android / buildTypes " 下的 debug / release 下配置 shrinkResources true 选项 ; 资源压缩 配置示例 : android..." 文件可以配置 保留 / 移除 的资源 ; 使用 tools:keep 属性指定要保留的资源 ; 如果保留多个资源使用逗号隔开 ; 使用 tools:discard 属性指定要移除的资源 ; 如果移除多个资源使用逗号隔开...---- 启动资源压缩后 , 压缩后的布局资源变成了如下内容 , 程序没有引用该资源 , 在编译时 , 该资源自动替换成如下类型 ; <?...resConfigs 'en' } buildTypes { debug { // 开启资源压缩 shrinkResources...'), 'proguard-rules.pro' } release { // 开启资源压缩 shrinkResources

    1.4K40

    Android获取其他应用的assets资源

    最近有这样一个需求:A应用在一定条件下出发某个逻辑后,需要从B应用获取一些资源(assets下的mp4视频、还有drawable下的一些图片用作背景),具体需求就不说啦哈哈,用一张图来表示应该更明白:...identifier = bContext.getResources().getIdentifier("bg", "drawable", bContext.getPackageName()); 但是assets资源就没有这么方便了...虽然通过context可以获取到对应的assetsManager,但是在操作assetsManager获取资源的时候就出现问题了:在assets获取资源一般都是通过文件或者流的方式,但是我在操作的时候直接抛出异常...,说找不到我的资源名字。...,去获取A中所需要的资源,然后通过反射调用这个方法,这种方式就可以拿到我想要的资源了,而且这种方法目前发现是万能方法哈哈。

    2K60

    项目管理如何合理分配资源

    概述 大多数项目在实际实行的时候的资源是有限的,这就会涉及到一个项目管理的常见问题——资源分配。本文结合一个简单的案例来讨论一下这个问题。 问题 ?...答案 1.目标与资源 分析一下上面的问题。 1) 目标 完成拖地,擦玻璃和切菜。 2)资源 资源可以分为两类:人力资源(2人)和物力资源(墩布一把、抹布一个、菜刀一把)。...回到上面的问题,这个问题就是在项目管理资源分配问题:如何合理的分配资源? 2.分配方案 1)方案1 ? 2)方案2 ? 3)方案3 ? 我们来比较一下这三种种方案。...因此,在实际的工作需要结合实际情况,从而找到最好的资源分配方案。

    1.1K20

    Android开发笔记(一百七十三)给安装包APK文件瘦身

    如何减少打包后的APK文件大小,也就是所谓的APK瘦身,这涉及到很多技术手段,最常用的主要有四块:去除冗余功能、精简无用资源、减少图片大小、过滤无用的so文件,分别介绍如下: 一、去除冗余功能 每当开发者创建新的...然后看supportsRtl,该属性名称当中的Rtl为“Right-to-Left”(从右到左)的缩写,像中东的阿拉伯语、希伯来文等从右到左书写,supportsRtl属性为true时表示支持这种右向左的文字系统.../ic_launcher_round"         android:supportsRtl="false"         android:theme="@style/AppTheme"> 二、精简无用资源...除了代码之外,应用项目还包括各种资源文件,若想移除无用的资源文件(包括xml布局和图片),就要引入新属性shrinkResources,并将该属性值设为true,这样Android Studio在打包APK...shrinkResources true             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'

    77710
    领券