You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中存在同名字符串资源时,如何强制使用指定资源?

强制Android使用指定字符串资源的解决方案

针对你遇到的库资源覆盖应用默认资源的问题,以下几种方法可以在保留app_name资源名称的前提下解决:

  • 显式指定应用包名引用资源
    在所有使用app_name的地方,将原本的@string/app_name替换为@[你的应用包名]:string/app_name。例如你的应用包名是com.example.myapp,就写成@com.example.myapp:string/app_name。这种方式会强制系统加载你应用自身定义的资源,不受库中对应语言资源的影响,哪怕你的应用只有默认的strings.xml。

  • 补充应用多语言资源文件
    在res目录下创建对应语言的资源文件夹,比如values-es(西班牙语)、values-fr(法语),每个文件夹内新建strings.xml文件,仅定义app_name为My App Name。这样当系统切换到这些语言时,应用自身存在匹配的资源,会优先使用应用内的资源而非库中的。

  • 通过Gradle强制设置资源值
    在Module级的build.gradle文件中,添加resValue配置来直接指定app_name的值:

    android {
        defaultConfig {
            resValue "string", "app_name", "My App Name"
        }
    }
    

    这种方式定义的资源优先级高于库中的资源,会覆盖所有场景下的app_name取值。

内容的提问来源于stack exchange,提问作者Ernesto David Oliva Perez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 08:33:12