在APK中包含以下划线(_)开头的类加载器资源

问题描述 投票:0回答:1

我有一个库读取类加载器资源properties/_message.properties,虽然类似于

this.getClass()
    .getClassLoader()
    .getResourceAsStream(
        "properties/_message.properties")

在较早的(基于Maven)版本的Android构建管道中,这种方法很好,但它不适用于当前的Gradle工具。

我已经尝试将该文件作为资源包含在我的项目中,但如果它不以下划线开头,它只包含在APK中:

如果我有两个文件src/main/resources/properties/message.propertiessrc/main/resources/properties/_message.properties

build.gradle

sourceSets {
    main {
        resources.srcDirs = ['src/main/resources']
    }
}

如果我构建APK,它包含properties/message.properties而不是properties/_message.properties。前一个文件也可以作为类加载器资源访问。

android android-gradle apk
1个回答
0
投票

有一些与此相关的长期错误,要么声称是固定的,要么是没有,或者标记为WONTFIX。

第一个问题包括一个解决方法,“[扩展]构建过程,以便在首次组装后将任何带有下划线的父目录的资产文件添加到调试APK,然后使用新文件重新签名APK”。

总结:您可以使用变通方法,也可以重命名资源。

© www.soinside.com 2019 - 2024. All rights reserved.